module Tradesman::ExistingRecordsMultipleExecute
Private Instance Methods
execute_multiple(params_hash)
click to toggle source
# File lib/tradesman/mixins/existing_records_multiple_execute.rb, line 10 def execute_multiple(params_hash) params = params_hash[:params] || params_hash.except(:id) params_hash[:id].to_enum.with_index.map do |id, index| begin execute_single(single_params(id, params, index)) rescue *self.class.expected_errors_map.keys => e Horza::Entities::Single.new(id: id, valid: false, message: e.message) end end end
params_at_index(params, index)
click to toggle source
# File lib/tradesman/mixins/existing_records_multiple_execute.rb, line 26 def params_at_index(params, index) return params unless params.is_a? Array params[index] end
query_for_ids(params)
click to toggle source
# File lib/tradesman/mixins/existing_records_multiple_execute.rb, line 5 def query_for_ids(params) params[:id] = self.class.adapter.find_all(conditions: params[:id]).collect &:id params end
single_params(id, params, index)
click to toggle source
# File lib/tradesman/mixins/existing_records_multiple_execute.rb, line 22 def single_params(id, params, index) { id: id }.merge(params_at_index(params, index)) end