Module: Calagator::DuplicateChecking::ControllerActions

Included in:
EventsController, VenuesController
Defined in:
lib/calagator/duplicate_checking/controller_actions.rb

Instance Method Summary collapse

Instance Method Details

#duplicatesObject

GET /##model_class/duplicates



7
8
9
10
11
12
13
# File 'lib/calagator/duplicate_checking/controller_actions.rb', line 7

def duplicates
  @type = params[:type] || 'na'
  @grouped = model_class.find_duplicates_by_type(@type)
rescue ArgumentError => e
  @grouped = {}
  flash[:failure] = e.to_s
end

#squash_many_duplicatesObject

POST /##model_class/squash_multiple_duplicates



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/calagator/duplicate_checking/controller_actions.rb', line 16

def squash_many_duplicates
  primary = model_class.find_by(id: params[:primary_id])
  duplicate_ids = params.keys.grep(/^duplicate_id_\d+$/) { |t| params[t].to_i }
  duplicates = model_class.where(id: duplicate_ids)

  squasher = model_class.squash(primary, duplicates)
  if squasher.success
    flash[:success] = squasher.success
  else
    flash[:failure] = squasher.failure
  end
  redirect_to action: 'duplicates', type: params[:type]
end