module ActiveAdmin::Extensions::Controller::RedirectAfterActionTo::ClassMethods

Public Instance Methods

redirect_after_action() click to toggle source
# File lib/active_admin/extensions/controller/redirect_after_action_to.rb, line 46
def redirect_after_action
  @redirect_after_action ||= {}
end
redirect_after_action_to(actions:, path:, keep_flash: true) click to toggle source
# File lib/active_admin/extensions/controller/redirect_after_action_to.rb, line 50
def redirect_after_action_to(actions:, path:, keep_flash: true)
  unless actions.respond_to? :each
    actions = [actions]
  end

  actions.each do |action|
    parsed_action = if action.try(:lambda?)
      action.call.to_sym
    else
      action.to_sym
    end

    redirect_after_action[parsed_action] = {
      path: path,
      keep_flash: keep_flash
    }
  end
end
redirect_after_action_to_member_url( actions:, url_helper:, keep_flash: true ) click to toggle source
# File lib/active_admin/extensions/controller/redirect_after_action_to.rb, line 69
def redirect_after_action_to_member_url(
  actions:,
  url_helper:,
  keep_flash: true
)
  redirect_after_action_to(
    actions: actions,
    path: ->(controller) {
      controller.send(url_helper, controller.send(:resource))
    },
    keep_flash: keep_flash
  )
end