Sha256: b73532871fb1bdf9ae2e1d9f6ffdee9923aa5873873a3a34d1900927bba4d1f7

Contents?: true

Size: 703 Bytes

Versions: 3

Compression:

Stored size: 703 Bytes

Contents

module Xing
  module Builders
    class OrderedListDifferenceBuilder < ListDifferenceBuilder
      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

      def set_position(record, index)
         record.position = index if record.has_attribute?(:position)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xing-backend-0.0.16 lib/xing/builders/ordered_list_difference_builder.rb
xing-backend-0.0.15 lib/xing/builders/ordered_list_difference_builder.rb
xing-backend-0.0.14 lib/xing/builders/ordered_list_difference_builder.rb