class Leafy::FieldValueCollection
Public Class Methods
new(leafy_fields, field_values: {}, ar_json: false)
click to toggle source
# File lib/leafy/field_value_collection.rb, line 7 def initialize(leafy_fields, field_values: {}, ar_json: false) @leafy_fields = leafy_fields @coder = ar_json ? Leafy::Coder::Mock.new : Leafy.configuration.coder self.leafy_field_values = field_values end
Public Instance Methods
[](index)
click to toggle source
# File lib/leafy/field_value_collection.rb, line 32 def [](index) to_a[index] end
dump()
click to toggle source
# File lib/leafy/field_value_collection.rb, line 57 def dump data = {} each { |field_value| data[field_value.id] = field_value.raw } @coder.dump(data) end
each() { |i| ... }
click to toggle source
# File lib/leafy/field_value_collection.rb, line 24 def each if block_given? @leafy_field_values.each { |i| yield i } else @leafy_field_values.each end end
leafy_field_values=(data)
click to toggle source
# File lib/leafy/field_value_collection.rb, line 13 def leafy_field_values=(data) @leafy_field_values = @leafy_fields.map do |custom_field| Leafy::FieldValue.new( id: custom_field.id, name: custom_field.name, raw: data[custom_field.id], type: custom_field.type ) end end
load(data)
click to toggle source
# File lib/leafy/field_value_collection.rb, line 63 def load(data) self.leafy_field_values = @coder.load(data) end
size()
click to toggle source
# File lib/leafy/field_value_collection.rb, line 36 def size count end
values()
click to toggle source
# File lib/leafy/field_value_collection.rb, line 40 def values inject({}) do |acc, field_value| acc[field_value.id] = field_value.value acc end end
values=(attributes = {})
click to toggle source
# File lib/leafy/field_value_collection.rb, line 47 def values=(attributes = {}) _attributes = {} attributes.each { |key, value| _attributes[key.to_s] = value } @leafy_field_values.each do |field_value| field_value.value = _attributes[field_value.id] end end