fix the method call, and learned to use the * operator in the way.
authordmacvicar <dmacvicar@e0cc52ee-31ee-0310-8b87-e83c4596d67c>
Fri, 23 Nov 2007 13:01:18 +0000 (13:01 +0000)
committerdmacvicar <dmacvicar@e0cc52ee-31ee-0310-8b87-e83c4596d67c>
Fri, 23 Nov 2007 13:01:18 +0000 (13:01 +0000)
git-svn-id: http://svn.opensuse.org/svn/yast/trunk/ruby-bindings@42364 e0cc52ee-31ee-0310-8b87-e83c4596d67c

examples/ruby/module-arch.rb
examples/ruby/module-storage-2.rb [deleted file]
examples/ruby/module-storage.rb
src/ruby/YCP.cc
src/ruby/yast.rb

index a813d97..e6448be 100644 (file)
@@ -1,6 +1,7 @@
 require 'yast'
+require 'ycp/arch'
+
+puts YCP::Arch::sparc32
+puts YCP::Arch::arch_short
+puts YCP::Arch::is_xen
 
-m = YaST::Module.new("Arch")
-puts m.sparc32
-puts m.arch_short
-puts m.is_xen
diff --git a/examples/ruby/module-storage-2.rb b/examples/ruby/module-storage-2.rb
deleted file mode 100644 (file)
index ea89a9f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-require 'yast'
-require 'ycp/storage'
-
-
-puts YCP::Storage.methods
-
-dp = YCP::Storage::GetDiskPartition("/dev/sda1")
-dp.each do | key, value |
-  puts "#{key} #{value}"
-end
\ No newline at end of file
index a47825e..ea89a9f 100644 (file)
@@ -1,7 +1,10 @@
 require 'yast'
+require 'ycp/storage'
 
-m = YaST::Module.new("Storage")
-dp = m.GetDiskPartition("/dev/sda1")
+
+puts YCP::Storage.methods
+
+dp = YCP::Storage::GetDiskPartition("/dev/sda1")
 dp.each do | key, value |
   puts "#{key} #{value}"
 end
\ No newline at end of file
index 3ffb58b..e17ed3a 100644 (file)
@@ -294,6 +294,7 @@ ycp_module_each_symbol(VALUE self, VALUE namespace_name)
 VALUE
 ycp_module_forward_call(int argc, VALUE *argv, VALUE self)
 {
+  y2internal("Dynamic Proxy: [%d] params\n", argc);
   VALUE symbol = argv[1];
   VALUE namespace_name = argv[0];
 
@@ -370,8 +371,8 @@ ycp_module_forward_call(int argc, VALUE *argv, VALUE self)
     {
       VALUE arg = argv[i];
       y2internal ("Appending parameter #%d\n", i);
-      YCPValue v = rbvalue_2_ycpvalue(arg);
-      y2internal ("Appending parameter #%s : %s\n", i, v->toString());
+      YCPValue v = rbvalue_2_ycpvalue(argv[i]);
+      y2internal ("Appending parameter #%d : %s\n", i, v->toString().c_str());
       call->appendParameter (v);
     }
     call->finishParameters ();
index 9bc01e9..444306c 100644 (file)
@@ -36,13 +36,10 @@ module YCP
       if (stype == :function) and !sname.empty?
         m.module_eval <<-"END"
           def self.#{sname}(*args)
-            args.insert(0, "#{mname}")
-            args.insert(0, :#{sname})
-            puts "to forward call #{sname.to_s} in #{mname}"
-            return YCP::forward_call(args)
+            return YCP::forward_call("#{mname}", :#{sname}, *args)
           end
         END
-      end
+      end # if function
     end
     YCP.const_set(mname, m)
   end
@@ -61,7 +58,7 @@ module Kernel
 end
 
 
-module YaST
+module YCP
   module Ui
     #my @e_logging = qw(y2debug y2milestone y2warning y2error y2security y2internal);