diff --git a/lib/rb/lib/thrift/struct.rb b/lib/rb/lib/thrift/struct.rb
index 9ee6912..0525f53 100644
--- a/lib/rb/lib/thrift/struct.rb
+++ b/lib/rb/lib/thrift/struct.rb
@@ -21,7 +21,7 @@
 
 module Thrift
   module Struct
-    def initialize(d={})
+    def initialize(d={}, &block)
       # get a copy of the default values to work on, removing defaults in favor of arguments
       fields_with_defaults = fields_with_default_values.dup
       
@@ -50,6 +50,8 @@
           instance_variable_set("@#{name}", (default_value.dup rescue default_value))
         end
       end
+      
+      yield self if block_given?
     end
 
     def fields_with_default_values
diff --git a/lib/rb/spec/struct_spec.rb b/lib/rb/spec/struct_spec.rb
index 59a4018..04f55ca 100644
--- a/lib/rb/spec/struct_spec.rb
+++ b/lib/rb/spec/struct_spec.rb
@@ -31,13 +31,22 @@
     end
 
     it "should initialize all fields to defaults" do
-      struct = Foo.new
-      struct.simple.should == 53
-      struct.words.should == "words"
-      struct.hello.should == Hello.new(:greeting => 'hello, world!')
-      struct.ints.should == [1, 2, 2, 3]
-      struct.complex.should be_nil
-      struct.shorts.should == Set.new([5, 17, 239])
+      validate_default_arguments(Foo.new)
+    end
+
+    it "should initialize all fields to defaults and accept a block argument" do
+      Foo.new do |f|
+        validate_default_arguments(f)
+      end
+    end
+
+    def validate_default_arguments(object)
+      object.simple.should == 53
+      object.words.should == "words"
+      object.hello.should == Hello.new(:greeting => 'hello, world!')
+      object.ints.should == [1, 2, 2, 3]
+      object.complex.should be_nil
+      object.shorts.should == Set.new([5, 17, 239])
     end
 
     it "should not share default values between instances" do
