<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -34,4 +34,9 @@ test/simple/mkmf.log
 test/simple/src/simple_rb.c
 test/simple/src/simple_rb.o
 test/simple/src/simple_rb.so
-test/simple/src/semantic.cache
\ No newline at end of file
+test/simple/src/semantic.cache
+test/embed/embed.gidl
+test/embed/embed.h
+test/embed/embed.c
+test/embed/embed.vapi
+test/embed/embed
\ No newline at end of file</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,5 @@
 
+ o complex type conversions
  o iterators for array
  o Make use of the faster type checks FIXNUM_P.
  o Data members can be nullable</diff>
      <filename>TODO</filename>
    </modified>
    <modified>
      <diff>@@ -87,20 +87,22 @@ class Valar
             end
           end
         when /public (\w+ )*([\w\.\?]+) (\w+) \((.*)\);/
-          params = $4
-          keywords = $1
-          new_meth = ValaMethod.new
-          new_meth.name = $3
-          new_meth.returns = ValaType.parse($2)
-          new_meth.static = (keywords and keywords.include?(&quot;static&quot;))
-          if params
-            params.split(&quot;, &quot;).each do |param_str|
-              type_def, arg_name = param_str.split(&quot; &quot;)
-              new_meth.params &lt;&lt; [ValaType.parse(type_def), arg_name]
+          unless $1 and $1.include? &quot;signal&quot;
+            params = $4
+            keywords = $1
+            new_meth = ValaMethod.new
+            new_meth.name = $3
+            new_meth.returns = ValaType.parse($2)
+            new_meth.static = (keywords and keywords.include?(&quot;static&quot;))
+            if params
+              params.split(&quot;, &quot;).each do |param_str|
+                type_def, arg_name = param_str.split(&quot; &quot;)
+                new_meth.params &lt;&lt; [ValaType.parse(type_def), arg_name]
+              end
             end
+            new_meth.obj = current_obj
+            current_obj.functions &lt;&lt; new_meth
           end
-          new_meth.obj = current_obj
-          current_obj.functions &lt;&lt; new_meth
         when /public (\w+ )*([\w\.\?]+) (\w+) \{(.*)\}/
           # property - automatically handled by ruby-glib
         when /public (\w+ )*([\w\.\?]+) (\w+);/
@@ -163,7 +165,6 @@ END
         
         fout.puts &lt;&lt;END
 void Init_#{@name}_rb() {
-    VALUE m_vala = rb_define_class(&quot;Vala&quot;, rb_cObject);
 END
         @objects.sort_by{|o| o.vala_typename.length}.each do |obj|
           obj.output_definition(fout) if obj.convertible?</diff>
      <filename>lib/library.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ class Valar
     end
     
     def convertible?
-      descends_from? &quot;GLib.Object&quot;
+      descends_from? &quot;GLib.Object&quot; or abstract
     end
     
     def object(name)
@@ -174,7 +174,7 @@ END
 END
         else
           fout.puts &lt;&lt;END
-    rbc_#{underscore_typename} = G_DEF_CLASS(#{underscore_typename}_get_type(), &quot;#{name}&quot;, m_vala);
+    rbc_#{underscore_typename} = G_DEF_CLASS(#{underscore_typename}_get_type(), &quot;#{name}&quot;, rb_cObject);
 END
         end
         fout.puts &lt;&lt;END</diff>
      <filename>lib/object.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,9 +6,9 @@ require 'test/unit'
 
 class TestVala &lt; Test::Unit::TestCase
   def test_gobjects
-    assert Vala::Simple
-    assert Vala::Simple.new(3)
-    assert_equal 7, Vala::Simple.new(8).seven
+    assert Simple
+    assert Simple.new(3)
+    assert_equal 7, Simple.new(8).seven
   end
   
 #   def test_objects</diff>
      <filename>test/test_simple.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,88 +5,88 @@ require 'test/unit'
 
 class TestVala &lt; Test::Unit::TestCase
   def test_array_get_length
-    assert_equal 3, Vala::VLib.new.get_length([1, 2, 3, ])
+    assert_equal 3, VLib.new.get_length([1, 2, 3, ])
   end
 
   def test_string_get_length
-    assert_equal 3, Vala::VLib.new.get_str_length(&quot;asd&quot;)
+    assert_equal 3, VLib.new.get_str_length(&quot;asd&quot;)
   end
   
   # if --no-type-checks, these segfault:
   def test_type_checks_work
     assert_raises(ArgumentError) {
-      Vala::VLib.new.get_length(10)
+      VLib.new.get_length(10)
     }
     assert_raises(ArgumentError) {
-      Vala::VLib.new.get_str_length(10)
+      VLib.new.get_str_length(10)
     }
-    Vala::VLib.new.sum_3(10, 4, 2.0)
+    VLib.new.sum_3(10, 4, 2.0)
     assert_raises(ArgumentError) {
-      Vala::VLib.new.sum_3(10, 4, 2)
+      VLib.new.sum_3(10, 4, 2)
     }
     assert_raises(ArgumentError) {
-      Vala::VLib.new.sum_3(10.9, 4, 2.0)
+      VLib.new.sum_3(10.9, 4, 2.0)
     }
   end
   
   def test_ary_new
-    a = Vala::VLib.new.get_ary
+    a = VLib.new.get_ary
     assert_equal Array, a.class
     assert_equal 0, a.length
   end
   
   def test_id
-    assert_equal false, Vala::VLib.new.responds_to_length(1)
-    assert_equal true, Vala::VLib.new.responds_to_length([1, 2, 3])
+    assert_equal false, VLib.new.responds_to_length(1)
+    assert_equal true, VLib.new.responds_to_length([1, 2, 3])
   end
   
   def test_hash
     h = {}
-    Vala::VLib.new.set_foo(h)
+    VLib.new.set_foo(h)
     assert_equal 123, h[&quot;foo&quot;]
   end
   
   # these test conversions
   def test_times_2
-    assert_equal 264, Vala::VLib.new.times_2(132)
-    assert_equal 74, Vala::VLib.new.times_2(37)
+    assert_equal 264, VLib.new.times_2(132)
+    assert_equal 74, VLib.new.times_2(37)
   end
   
   def test_vala_length
-    assert_equal 4, Vala::VLib.new.vala_length(&quot;asdf&quot;)
-    assert_equal 7, Vala::VLib.new.vala_length(&quot;asdf123&quot;)
+    assert_equal 4, VLib.new.vala_length(&quot;asdf&quot;)
+    assert_equal 7, VLib.new.vala_length(&quot;asdf123&quot;)
   end
   
   def test_static_methods
-    assert_equal 7, Vala::VLib.add1(3, 4)
+    assert_equal 7, VLib.add1(3, 4)
   end
   
   def test_nullable_return_values
-    assert_equal &quot;adama&quot;, Vala::VLib.maybe_string(100)
-    assert_equal nil, Vala::VLib.maybe_string(1)
+    assert_equal &quot;adama&quot;, VLib.maybe_string(100)
+    assert_equal nil, VLib.maybe_string(1)
   end
   
   def test_nullable_arguments
-    assert_equal 0, Vala::VLib.maybe_length(nil)
-    assert_equal 5, Vala::VLib.maybe_length(&quot;adama&quot;)
+    assert_equal 0, VLib.maybe_length(nil)
+    assert_equal 5, VLib.maybe_length(&quot;adama&quot;)
     assert_raises(ArgumentError) {
-      Vala::VLib.maybe_length(19)
+      VLib.maybe_length(19)
     }
   end
   
   def test_simple_property
-    vl = Vala::VLib.new
+    vl = VLib.new
     vl.anint = 10
     assert_equal 10, vl.anint
   end
   
   def test_boolean_conversion
-    assert_equal true, Vala::VLib.invert(false)
-    assert_equal false, Vala::VLib.invert(true)
+    assert_equal true, VLib.invert(false)
+    assert_equal false, VLib.invert(true)
   end
   
   def signals
-    v = Vala::VLib.new
+    v = VLib.new
     foo = nil
     v.signal_connect(&quot;sig_1&quot;) do |val|
       foo = val</diff>
      <filename>test/test_vlib.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a9ee07c246f70255d586f96165c0a195696f4001</id>
    </parent>
  </parents>
  <author>
    <name>Daniel Lucraft</name>
    <email>dan@fluentradical.com</email>
  </author>
  <url>http://github.com/danlucraft/valar/commit/0e6cef2581f43cb5f9ae5b6c470c9d9ddd2a4239</url>
  <id>0e6cef2581f43cb5f9ae5b6c470c9d9ddd2a4239</id>
  <committed-date>2008-06-10T13:52:29-07:00</committed-date>
  <authored-date>2008-06-10T13:49:55-07:00</authored-date>
  <message>Fixed toplevel Ruby constants</message>
  <tree>a8492d83b9a66bf2e0c27a9150a6838b45369570</tree>
  <committer>
    <name>Daniel Lucraft</name>
    <email>dan@fluentradical.com</email>
  </committer>
</commit>
