Module: ActiveAdmin::BatchActions::Controller
- Defined in:
- lib/active_admin/batch_actions/controller.rb
Constant Summary collapse
- COLLECTION_APPLIES =
[ :authorization_scope, :filtering, :scoping, :includes, ].freeze
Instance Method Summary collapse
- #action_present? ⇒ Boolean protected
-
#batch_action ⇒ Object
Controller action that is called when submitting the batch action form.
- #batch_action_collection(only = COLLECTION_APPLIES) ⇒ Object protected
- #current_batch_action ⇒ Object protected
Instance Method Details
#action_present? ⇒ Boolean (protected)
21 22 23 |
# File 'lib/active_admin/batch_actions/controller.rb', line 21 def action_present? params[:batch_action].present? && current_batch_action end |
#batch_action ⇒ Object
Controller action that is called when submitting the batch action form
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/active_admin/batch_actions/controller.rb', line 7 def batch_action if action_present? selection = params[:collection_selection] || [] inputs = JSON.parse params[:batch_action_inputs] || "{}" valid_keys = MethodOrProcHelper.render_in_context(self, current_batch_action.inputs).try(:keys) inputs = inputs.with_indifferent_access.slice *valid_keys instance_exec selection, inputs, ¤t_batch_action.block else raise "Couldn't find batch action \"#{params[:batch_action]}\"" end end |
#batch_action_collection(only = COLLECTION_APPLIES) ⇒ Object (protected)
36 37 38 |
# File 'lib/active_admin/batch_actions/controller.rb', line 36 def batch_action_collection(only = COLLECTION_APPLIES) find_collection(only: only) end |
#current_batch_action ⇒ Object (protected)
25 26 27 |
# File 'lib/active_admin/batch_actions/controller.rb', line 25 def current_batch_action active_admin_config.batch_actions.detect { |action| action.sym.to_s == params[:batch_action] } end |