Class: Exo::ItemBuilder
- Inherits:
-
Struct
- Object
- Struct
- Exo::ItemBuilder
- Defined in:
- app/services/exo/item_builder.rb
Instance Attribute Summary collapse
-
#item ⇒ Object
Returns the value of attribute item.
Instance Method Summary collapse
Instance Attribute Details
#item ⇒ Object
Returns the value of attribute item
1 2 3 |
# File 'app/services/exo/item_builder.rb', line 1 def item @item end |
Instance Method Details
#update_item(params) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/services/exo/item_builder.rb', line 27 def update_item params puts "[Exo::ItemBuilder] Update item ..." if item.new_record? item.save else item.update_attributes params end # Values post save is required to trigger assets content to persist. item.values.each do |r| r.save! end end |
#update_values(params) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/services/exo/item_builder.rb', line 2 def update_values params puts "[Exo::ItemBuilder] Update values ..." _resource = item.resource params.each do |k, v| puts " * #{k}" _field = _resource. k _value = item.value_for k if _value && _value.class != _field.value_class _value.destroy _value = nil end unless _value _value = _field.value_class.new _value.field_slug_id = k.to_s _value.item = item end _value.value_update v puts "=> #{item.values.inspect}" end end |