lib/protobuf/descriptor/descriptor.rb in ruby_protobuf-0.3.3 vs lib/protobuf/descriptor/descriptor.rb in ruby_protobuf-0.4.1
- old
+ new
@@ -9,46 +9,47 @@
'Google::Protobuf::DescriptorProto'
end
def build(proto, opt={})
mod = opt[:module]
- cls = mod.const_set proto.name, Class.new(@message_class)
+ cls = mod.const_set(proto.name, Class.new(@message_class))
proto.nested_type.each do |message_proto|
- Protobuf::Message.descriptor.build message_proto, :module => cls
+ Protobuf::Message.descriptor.build(message_proto, :module => cls)
end
proto.enum_type.each do |enum_proto|
- Protobuf::Enum.descriptor.build enum_proto, :module => cls
+ Protobuf::Enum.descriptor.build(enum_proto, :module => cls)
end
proto.field.each do |field_proto|
- Protobuf::Field::BaseField.descriptor.build field_proto, :class => cls
+ Protobuf::Field::BaseField.descriptor.build(field_proto, :class => cls)
end
end
def unbuild(parent_proto)
message_proto = Google::Protobuf::DescriptorProto.new
message_proto.name = @message_class.to_s.split('::').last
@message_class.fields.each do |tag, field|
- field.descriptor.unbuild message_proto
+ field.descriptor.unbuild(message_proto)
end
ObjectSpace.each_object(Class) do |cls|
- if innerclass? @message_class, cls
- cls.descriptor.unbuild message_proto
+ if innerclass?(@message_class, cls)
+ cls.descriptor.unbuild(message_proto)
end
end
case parent_proto
when Google::Protobuf::FileDescriptorProto
parent_proto.message_type << message_proto
when Google::Protobuf::DescriptorProto
parent_proto.nested_type << message_proto
else
- raise TypeError.new(parent_proto.class.name)
+ raise TypeError, parent_proto.class.name
end
end
+ private
+
def innerclass?(parent, child)
- child.name =~ /::/ and child.name.split('::')[0..-2].join('::') == parent.name
+ child.name =~ /::/ && child.name.split('::')[0..-2].join('::') == parent.name
end
end
end
end
-