Class: Xing::Builders::OrderedListDifferenceBuilder
- Inherits:
-
ListDifferenceBuilder
- Object
- ListDifferenceBuilder
- Xing::Builders::OrderedListDifferenceBuilder
- Defined in:
- lib/xing/builders/ordered_list_difference_builder.rb
Instance Attribute Summary
Attributes inherited from ListDifferenceBuilder
Instance Method Summary collapse
Methods inherited from ListDifferenceBuilder
#build, #initialize, #locator_for, #set_locator, #sort_json_items
Methods included from Services::Locator
#normalize_path, #route_to, #router
Constructor Details
This class inherits a constructor from Xing::Builders::ListDifferenceBuilder
Instance Method Details
#map_items ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/xing/builders/ordered_list_difference_builder.rb', line 4 def map_items @new_list = [] @list_data.each_with_index do |item, index| mapper = @mapper_class.new(item[:incoming], item[:locator]) # Sets association, attributes and position @collection << mapper.record mapper.perform_mapping set_position(mapper.record, index) @new_list << mapper @errors[index] = mapper.errors[:data] unless mapper.errors[:data].blank? end end |
#set_position(record, index) ⇒ Object
20 21 22 |
# File 'lib/xing/builders/ordered_list_difference_builder.rb', line 20 def set_position(record, index) record.position = index if record.has_attribute?(:position) end |