Class: Rasti::App::Policy
- Inherits:
-
Object
- Object
- Rasti::App::Policy
show all
- Defined in:
- lib/rasti/app/policy.rb
Defined Under Namespace
Classes: UnauthorizedError
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(environment, session) ⇒ Policy
Returns a new instance of Policy.
38
39
40
41
|
# File 'lib/rasti/app/policy.rb', line 38
def initialize(environment, session)
@environment = environment
@session = session
end
|
Class Method Details
.authorizations ⇒ Object
22
23
24
|
# File 'lib/rasti/app/policy.rb', line 22
def authorizations
@authorizations ||= {}
end
|
Instance Method Details
#authorize!(permission, form) ⇒ Object
51
52
53
|
# File 'lib/rasti/app/policy.rb', line 51
def authorize!(permission, form)
raise UnauthorizedError.new(session.user.name, permission) unless authorized? permission, form
end
|
#authorized?(permission, form) ⇒ Boolean
43
44
45
46
47
48
49
|
# File 'lib/rasti/app/policy.rb', line 43
def authorized?(permission, form)
if self.class.authorizations.key? permission
instance_exec form, &self.class.authorizations[permission]
else
session.user.authorized? permission
end
end
|