module Miau

Constants

VERSION

Public Instance Methods

authorize!(resource = nil, hsh = {}) click to toggle source
# File lib/miau.rb, line 19
def authorize!(resource = nil, hsh = {})
  @_miau_authorization_performed = true
  return true if authorized?(resource, hsh)

  klass, action = klass_action(hsh)
  msg = "class <#{klass} action <#{action}>"
  raise Miau::NotAuthorizedError, msg
end
authorized?(resource = nil, hsh = {}) click to toggle source
# File lib/miau.rb, line 28
def authorized?(resource = nil, hsh = {})
  klass, action = klass_action(hsh)
  Miau::PolicyStorage.instance.run(klass, action, miau_user, resource)
end
miau_authorization_performed?() click to toggle source
# File lib/miau.rb, line 45
def miau_authorization_performed?
  !!@_miau_authorization_performed
end
miau_user() click to toggle source
# File lib/miau.rb, line 33
def miau_user
  current_user
end
skip_authorization() click to toggle source
# File lib/miau.rb, line 37
def skip_authorization
  @_miau_authorization_performed = true
end
verify_authorized() click to toggle source
# File lib/miau.rb, line 41
def verify_authorized
  raise AuthorizationNotPerformedError unless miau_authorization_performed?
end

Private Instance Methods

klass_action(hsh) click to toggle source
# File lib/miau.rb, line 51
def klass_action(hsh)
  klass = hsh[:class]
  klass ||= params[:controller]
  action = hsh[:action]
  action ||= params[:action]
  [klass, action]
end