Module: Godmin::Authorization

Extended by:
ActiveSupport::Concern
Defined in:
lib/godmin/authorization.rb,
lib/godmin/authorization/policy.rb,
lib/godmin/authorization/policy_finder.rb

Defined Under Namespace

Classes: NotAuthorizedError, Policy, PolicyFinder

Instance Method Summary collapse

Instance Method Details

#authorize(record) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/godmin/authorization.rb', line 12

def authorize(record)
  policy = policy(record)

  unless policy.public_send(action_name + "?")
    raise NotAuthorizedError
  end
end

#policiesObject



24
25
26
# File 'lib/godmin/authorization.rb', line 24

def policies
  @_policies ||= {}
end

#policy(record) ⇒ Object



20
21
22
# File 'lib/godmin/authorization.rb', line 20

def policy(record)
  policies[record] ||= PolicyFinder.find(record).constantize.new(admin_user, record)
end