Sha256: 149f43f37f7352b3a01a380cee5605129c024c9a5db06e4f4ecf02234f7dbda8

Contents?: true

Size: 675 Bytes

Versions: 5

Compression:

Stored size: 675 Bytes

Contents

Rails.application.routes.draw do

  def controllers_for(path)
    path ||= Rails.root.join('app', 'controllers', 'admin', '**/*.rb')

    Dir[path].each do |file|
      require_dependency file
    end

    ::Administrate::ApplicationController.descendants
  end

  namespace :admin do
    controllers_for(nil).each do |controller|
      controller
        .instance_methods
        .select { |m| m[/.+_batch_action$/] }
        .each do |method_name|
          resource = controller.name.demodulize.underscore.delete_suffix('_controller')

          resources resource.to_sym do
            post method_name.to_sym, on: :collection
          end
      end
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
administrate_batch_actions-0.3.2 config/routes.rb
administrate_batch_actions-0.3.1 config/routes.rb
administrate_batch_actions-0.3.0 config/routes.rb
administrate_batch_actions-0.2.0 config/routes.rb
administrate_batch_actions-0.1.0 config/routes.rb