Class: RelateIq::Utils::FieldValueEncoder
- Inherits:
-
Object
- Object
- RelateIq::Utils::FieldValueEncoder
- Defined in:
- lib/relateiq/utils/field_value_encoder.rb
Instance Attribute Summary collapse
-
#list ⇒ Object
Returns the value of attribute list.
Instance Method Summary collapse
- #decode(encoded_value) ⇒ Object
- #encode(decoded_value) ⇒ Object
-
#initialize(attrs = {}) ⇒ FieldValueEncoder
constructor
A new instance of FieldValueEncoder.
Constructor Details
#initialize(attrs = {}) ⇒ FieldValueEncoder
Returns a new instance of FieldValueEncoder.
6 7 8 |
# File 'lib/relateiq/utils/field_value_encoder.rb', line 6 def initialize(attrs = {}) @list = attrs.fetch(:list) end |
Instance Attribute Details
#list ⇒ Object
Returns the value of attribute list.
4 5 6 |
# File 'lib/relateiq/utils/field_value_encoder.rb', line 4 def list @list end |
Instance Method Details
#decode(encoded_value) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/relateiq/utils/field_value_encoder.rb', line 20 def decode(encoded_value) return {} if encoded_value.nil? id = encoded_value.keys[0] values = encoded_value.values[0] field = find_field(id) { "#{field[:name]}" => decode_values(field, values) } end |
#encode(decoded_value) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/relateiq/utils/field_value_encoder.rb', line 10 def encode(decoded_value) return {} if decoded_value.nil? name = decoded_value.keys[0] values = decoded_value.values[0] field = find_field_by_name(name) encoded_value = encode_values(field, values) return {} if encoded_value == [] { "#{field[:id]}" => encoded_value } end |