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.10"
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
55
56
57
58
59
|
# 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)
unless policy
msg = "missing class #{controller.capitalize}Policy"
raise NotDefinedError, msg
end
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
|
69
70
71
|
# File 'lib/miau.rb', line 69
def miau_authorization_performed?
!!@_miau_authorization_performed
end
|
#miau_user ⇒ Object
61
62
63
|
# File 'lib/miau.rb', line 61
def miau_user
current_user
end
|
#verify_authorized ⇒ Object
65
66
67
|
# File 'lib/miau.rb', line 65
def verify_authorized
raise AuthorizationNotPerformedError unless miau_authorization_performed?
end
|