Module: ActiveAdmin::BatchedExport::Install

Defined in:
lib/activeadmin/batched_export/install.rb

Class Method Summary collapse

Class Method Details

.callObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/activeadmin/batched_export/install.rb', line 8

def call
  ActiveAdmin.application.namespaces.each do |namespace|
    namespace.resources.each do |config|
      next if config.is_a?(ActiveAdmin::Page)
      next unless config.batched_export_enabled?
      next unless config.controller.action_methods.include?("index")

      changed = false
      unless config.collection_actions.any? { |action| action.name.to_sym == :batched_export }
        config.collection_actions << ActiveAdmin::ControllerAction.new(:batched_export, method: :get)
        changed = true
      end

      controller = config.controller
      unless controller.included_modules.include?(ControllerMethods)
        controller.include(ControllerMethods)
        changed = true
      end

      controller.clear_action_methods! if changed
    end
  end
end