class Consent::Ability

Defines a CanCan(Can)::Ability class based on a permissions hash

Public Class Methods

new(*args, apply_defaults: true) click to toggle source
# File lib/consent/ability.rb, line 8
def initialize(*args, apply_defaults: true)
  @context = *args
  apply_defaults! if apply_defaults
end

Public Instance Methods

Private Instance Methods

apply_defaults!() click to toggle source
# File lib/consent/ability.rb, line 35
def apply_defaults!
  Consent.subjects.each do |subject|
    subject.actions.each do |action|
      next unless action.default_view

      consent(
        subject: subject.key,
        action: action.key,
        view: action.default_view
      )
    end
  end
end