Author: dmacvicar
Date: Wed Sep 12 15:02:45 2007
New Revision: 40876
URL: http://svn.opensuse.org/viewcvs/yast?rev=40876&view=rev
Log:
- make the extension a ruby code lib, and make the ruby lib
load the native extension (yastx)
- move the term builder to the ruby part
- make the ruby library add the plugin path
Added:
trunk/ruby-bindings/src/ruby/yast.rb
Modified:
trunk/ruby-bindings/examples/ruby/ycp_from_ruby.rb
trunk/ruby-bindings/src/ruby/CMakeLists.txt
trunk/ruby-bindings/src/ruby/Y2RubyTypeTerm.cc
trunk/ruby-bindings/src/ruby/YCP.cc
Modified: trunk/ruby-bindings/examples/ruby/ycp_from_ruby.rb
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ruby-bindings/examples/ruby/ycp_from_ruby.rb?rev=40876&r1=40875&r2=40876&view=diff
==============================================================================
--- trunk/ruby-bindings/examples/ruby/ycp_from_ruby.rb (original)
+++ trunk/ruby-bindings/examples/ruby/ycp_from_ruby.rb Wed Sep 12 15:02:45 2007
@@ -1,5 +1,23 @@
require 'yast'
+ui = YaST::Module.new("UI")
+
+
+t = YaST::Builder.new do
+ VBox do
+ Label "Now we can call YaST UI from other languages!", "wooho"
+ PushButton "&So What?", "So what*** what"
+ end
+end
+puts t.to_s
+exit
+
+dialog = nil
+
+puts dialog.class
+ui.OpenDialog(dialog)
+
+exit
m = YaST::Module.new("SCR")
m.Read(".proc.modules")
Modified: trunk/ruby-bindings/src/ruby/CMakeLists.txt
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ruby-bindings/src/ruby/CMakeLists.txt?rev=40876&r1=40875&r2=40876&view=diff
==============================================================================
--- trunk/ruby-bindings/src/ruby/CMakeLists.txt (original)
+++ trunk/ruby-bindings/src/ruby/CMakeLists.txt Wed Sep 12 15:02:45 2007
@@ -32,14 +32,16 @@
INCLUDE_DIRECTORIES( ${RUBY_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${YAST_INCLUDE_DIR} )
-ADD_LIBRARY( yast SHARED ${yast_ruby_module_SRCS})
-SET_TARGET_PROPERTIES( yast PROPERTIES PREFIX "" )
-TARGET_LINK_LIBRARIES( yast ${YAST_LIBRARY} )
-TARGET_LINK_LIBRARIES( yast ${YAST_YCP_LIBRARY} )
-TARGET_LINK_LIBRARIES( yast ${YAST_PLUGIN_WFM_LIBRARY} )
-TARGET_LINK_LIBRARIES( yast ${YAST_PLUGIN_SCR_LIBRARY} )
-TARGET_LINK_LIBRARIES( yast ${RUBY_LIBRARY} )
-INSTALL(TARGETS yast LIBRARY DESTINATION ${RUBY_VENDORARCH_DIR} )
+ADD_LIBRARY( yastx SHARED ${yast_ruby_module_SRCS})
+SET_TARGET_PROPERTIES( yastx PROPERTIES PREFIX "" )
+TARGET_LINK_LIBRARIES( yastx ${YAST_LIBRARY} )
+TARGET_LINK_LIBRARIES( yastx ${YAST_YCP_LIBRARY} )
+TARGET_LINK_LIBRARIES( yastx ${YAST_PLUGIN_WFM_LIBRARY} )
+TARGET_LINK_LIBRARIES( yastx ${YAST_PLUGIN_SCR_LIBRARY} )
+TARGET_LINK_LIBRARIES( yastx ${RUBY_LIBRARY} )
+INSTALL(TARGETS yastx LIBRARY DESTINATION ${RUBY_VENDORARCH_DIR} )
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/yast.rb DESTINATION ${RUBY_VENDORLIB_DIR} )
ADD_LIBRARY( py2lang_ruby SHARED ${ruby_yast_plugin_SRCS})
TARGET_LINK_LIBRARIES( py2lang_ruby ${YAST_LIBRARY} )
Modified: trunk/ruby-bindings/src/ruby/Y2RubyTypeTerm.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ruby-bindings/src/ruby/Y2RubyTypeTerm.cc?rev=40876&r1=40875&r2=40876&view=diff
==============================================================================
--- trunk/ruby-bindings/src/ruby/Y2RubyTypeTerm.cc (original)
+++ trunk/ruby-bindings/src/ruby/Y2RubyTypeTerm.cc Wed Sep 12 15:02:45 2007
@@ -90,6 +90,25 @@
return self;
}
+static VALUE
+ryast_term_add( int argc, VALUE *argv, VALUE self )
+{
+ ryast_Term_Wrapper *wrapper;
+ Data_Get_Struct(self, ryast_Term_Wrapper, wrapper);
+
+ // we should be using rb_scan_args here but I couldn't get it to work.
+
+ // add the remaining YCPTerm arguments
+ if (argc > 0)
+ {
+ int i=0;
+ for ( ; i