class ActAsPermissionControllable::Action

Public Class Methods

actions_for_controller(controller) click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 3
def self.actions_for_controller(controller)
  controller.public_instance_methods(include_super = false).map { |action| self.new(action, controller) }
end
new(action, controller) click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 7
def initialize(action, controller)
  @action = action
  @controller = controller
end

Public Instance Methods

controller() click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 16
def controller
  @controller
end
i18n_name() click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 25
def i18n_name
  model = Controller.new(controller).i18n_name
  defaults = [
    :"act_as_permission_controllable.actions.#{to_s}",
    to_s.titleize,
  ]
  I18n.translate(:"act_as_permission_controllable.actions.#{controller.to_s}.#{to_s}",
                 model: model, default: defaults)
end
permitted_in?(permission_hash) click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 20
def permitted_in?(permission_hash)
  actions = permission_hash[controller.to_s]
  (Array === actions) && actions.map(&:to_s).include?(to_s)
end
to_s() click to toggle source
# File lib/act_as_permission_controllable/action.rb, line 12
def to_s
  @action.to_s
end