Module: KnowItAll
- Included in:
- Authorizer
- Defined in:
- lib/know_it_all/string_helper.rb,
lib/know_it_all.rb,
lib/know_it_all/base.rb,
lib/know_it_all/version.rb,
lib/know_it_all/authorizer.rb,
lib/generators/know_it_all/policy/policy_generator.rb,
lib/generators/know_it_all/install/install_generator.rb
Overview
Defined Under Namespace
Modules: Generators
Classes: AuthorizationNotPerformedError, Authorizer, Base, NotAuthorized, StringHelper
Constant Summary
collapse
- SUFFIX =
"Policies"
- VERSION =
"0.1.8"
Instance Method Summary
collapse
Instance Method Details
#authorize(*args, controller_path: self.controller_path, action_name: self.action_name, policy_name: self.policy_name(
controller_path: controller_path,
action_name: action_name
), policy_class: self.policy_class(policy_name: policy_name), policy: self.policy(*args, policy_class: policy_class)) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/know_it_all.rb', line 13
def authorize(*args,
controller_path: self.controller_path,
action_name: self.action_name,
policy_name: self.policy_name(
controller_path: controller_path,
action_name: action_name
),
policy_class: self.policy_class(policy_name: policy_name),
policy: self.policy(*args, policy_class: policy_class)
)
@_authorization_performed = true
policy.errors
end
|
#authorize!(*args) ⇒ Object
27
28
29
|
# File 'lib/know_it_all.rb', line 27
def authorize!(*args)
raise NotAuthorized.new(policy(*args)) unless authorize?(*args)
end
|
#authorize?(*args) ⇒ Boolean
9
10
11
|
# File 'lib/know_it_all.rb', line 9
def authorize?(*args)
authorize(*args).empty?
end
|
#policy(*args, policy_class: self.policy_class) ⇒ Object
31
32
33
|
# File 'lib/know_it_all.rb', line 31
def policy(*args, policy_class: self.policy_class)
policy_class.new(*args)
end
|
#policy_class(policy_name: self.policy_name) ⇒ Object
35
36
37
|
# File 'lib/know_it_all.rb', line 35
def policy_class(policy_name: self.policy_name)
@policy_class = self.class.const_get(policy_name)
end
|
#policy_name(controller_path: self.controller_path, action_name: self.action_name) ⇒ Object
#render_not_authorized(exception) ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'lib/know_it_all.rb', line 46
def render_not_authorized(exception)
render(
json: {
errors: exception.policy.errors
},
status: :forbidden
)
end
|
#verify_authorized ⇒ Object