diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc
index de55c39..16cbe08 100644
--- a/compiler/cpp/src/generate/t_rb_generator.cc
+++ b/compiler/cpp/src/generate/t_rb_generator.cc
@@ -397,7 +397,7 @@
       etype = ((t_set*)type)->get_elem_type();
     }
     if (type->is_set()) {
-      out << "{";
+      out << "Set.new([";
     } else {
       out << "[" << endl;
     }
@@ -407,14 +407,11 @@
     for (v_iter = val.begin(); v_iter != val.end(); ++v_iter) {
       out << indent();
       out << render_const_value(etype, *v_iter);
-      if (type->is_set()) {
-        out << " => true";
-      }
       out << "," << endl;
     }
     indent_down();
     if (type->is_set()) {
-      indent(out) << "}";
+      indent(out) << "])";
     } else {
       indent(out) << "]";
     }
diff --git a/lib/rb/lib/thrift/protocol.rb b/lib/rb/lib/thrift/protocol.rb
index c4dd762..b514381 100644
--- a/lib/rb/lib/thrift/protocol.rb
+++ b/lib/rb/lib/thrift/protocol.rb
@@ -8,6 +8,9 @@
 # Author: Mark Slee <mcslee@facebook.com>
 #
 
+# this require is to make generated struct definitions happy
+require 'set'
+
 module Thrift
   class ProtocolException < Exception
 
diff --git a/lib/rb/lib/thrift/struct.rb b/lib/rb/lib/thrift/struct.rb
index ce113bf..be46341 100644
--- a/lib/rb/lib/thrift/struct.rb
+++ b/lib/rb/lib/thrift/struct.rb
@@ -44,6 +44,14 @@
       oprot.write_struct_end()
     end
 
+    def ==(other)
+      return false unless other.is_a?(self.class)
+      each_field do |fid, type, name, default|
+        return false unless self.instance_variable_get("@#{name}") == other.instance_variable_get("@#{name}")
+      end
+      true
+    end
+
     protected
 
     def handle_message(iprot, fid, ftype)
@@ -77,10 +85,10 @@
         iprot.read_list_end
       elsif field[:type] == Types::SET
         e_type, size = iprot.read_set_begin
-        value = {}
+        value = Set.new
         size.times do
           element = read_field(iprot, field_info(field[:element]))
-          value[element] = true
+          value << element
         end
         iprot.read_set_end
       else
