Sha256: 3282b24e1895ea8d607b6897a84d46dcb1a303a07cfd2a82f4db178df819c346
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
module Calagator module DuplicateChecking module ControllerActions # GET /#{model_class}/duplicates def duplicates @type = params[:type] || 'na' @grouped = model_class.find_duplicates_by_type(@type) rescue ArgumentError => e @grouped = {} flash[:failure] = e.to_s end # POST /#{model_class}/squash_multiple_duplicates def squash_many_duplicates master = model_class.find_by(id: params[:master_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(master, duplicates) if squasher.success flash[:success] = squasher.success else flash[:failure] = squasher.failure end redirect_to action: 'duplicates', type: params[:type] end private def model_class # Derive model class from controller name "Calagator::#{controller_name.singularize.titleize}".constantize end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
calagator-1.1.0 | lib/calagator/duplicate_checking/controller_actions.rb |