Module: Miau
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/miau.rb,
lib/miau/run.rb,
lib/miau/error.rb,
lib/miau/storage.rb,
lib/miau/version.rb
Defined Under Namespace
Classes: AuthorizationNotPerformedError, Error, NotAuthorizedError, NotDefinedError, OverwriteError, PolicyRun, PolicyStorage
Constant Summary
collapse
- VERSION =
"1.1.6"
Instance Method Summary
collapse
Instance Method Details
#authorize!(resource = nil, hsh = {}) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/miau.rb', line 20
def authorize!(resource = nil, hsh = {})
@_miau_authorization_performed = true
return true if authorized?(resource, hsh)
controller = params[:controller].to_sym
action = params[:action].to_sym
PolicyRun.instance.raise_authorize(controller, action)
end
|
#authorize_controller! ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/miau.rb', line 43
def authorize_controller!
controller = params[:controller].to_sym
action = params[:action].to_sym
policy = PolicyStorage.instance.find_or_create_policy(controller)
policy.user = miau_user
policy.action = action
@_miau_authorization_performed = true
return true if PolicyRun.instance.runs(policy, :controller)
PolicyRun.instance.raise_authorize policy, action
end
|
#authorized?(resource = nil, hsh = {}) ⇒ Boolean
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/miau.rb', line 29
def authorized?(resource = nil, hsh = {})
controller = params[:controller].to_sym
action = params[:action].to_sym
policy = PolicyStorage.instance.find_or_create_policy(controller)
PolicyRun.instance.raise_undef(policy, action) unless policy
policy.user = miau_user
policy.resource = resource
methods = PolicyRun.instance.find_methods(policy, controller, action)
PolicyRun.instance.raise_undef(policy, action) unless methods
PolicyRun.instance.runs(policy, methods)
end
|
64
65
66
|
# File 'lib/miau.rb', line 64
def miau_authorization_performed?
!!@_miau_authorization_performed
end
|
#miau_user ⇒ Object
56
57
58
|
# File 'lib/miau.rb', line 56
def miau_user
current_user
end
|
#verify_authorized ⇒ Object