Class: ActiveRemote::Serializers::Protobuf::Field

Inherits:
Object
  • Object
show all
Defined in:
lib/active_remote/serializers/protobuf.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field, value) ⇒ Field

Constructor!



73
74
75
76
# File 'lib/active_remote/serializers/protobuf.rb', line 73

def initialize(field, value)
  @field = field
  @value = value
end

Instance Attribute Details

#fieldObject (readonly)

Returns the value of attribute field.



68
69
70
# File 'lib/active_remote/serializers/protobuf.rb', line 68

def field
  @field
end

#valueObject (readonly)

Returns the value of attribute value.



68
69
70
# File 'lib/active_remote/serializers/protobuf.rb', line 68

def value
  @value
end

Class Method Details

.from_attribute(field, value) ⇒ Object

Class methods



81
82
83
84
# File 'lib/active_remote/serializers/protobuf.rb', line 81

def self.from_attribute(field, value)
  field = self.new(field, value)
  field.from_attribute
end

Instance Method Details

#from_attributeObject

Instance methods



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/active_remote/serializers/protobuf.rb', line 89

def from_attribute
  case
  when field.repeated_message? then
    repeated_message_value
  when field.message? then
    message_value
  when field.repeated? then
    repeated_value.map { |value| typecast(value) }
  else
    typecasted_value
  end
end