diff --git a/lib/protocol_buffers/runtime/field.rb b/lib/protocol_buffers/runtime/field.rb index 847764a..0be51b3 100644 --- a/lib/protocol_buffers/runtime/field.rb +++ b/lib/protocol_buffers/runtime/field.rb @@ -104,7 +104,7 @@ def self.create(sender, otype, type, name, tag, opts = {}) klass = Field.const_get("#{type.to_s.capitalize}Field") rescue nil raise("Type not found: #{type}") if klass.nil? field = klass.new(otype, name, tag, opts) - elsif type.singleton_class.ancestors.include?(ProtocolBuffers::Enum) + elsif type.is_a?(ProtocolBuffers::Enum) field = Field::EnumField.new(type, otype, name, tag, opts) elsif type.ancestors.include?(ProtocolBuffers::Message) if opts[:group]