Class: LogicalAuthz::AccessControl::Policy
- Inherits:
-
Object
- Object
- LogicalAuthz::AccessControl::Policy
show all
- Defined in:
- lib/logical_authz/access_control.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Policy
Returns a new instance of Policy.
116
117
118
119
|
# File 'lib/logical_authz/access_control.rb', line 116
def initialize
@decision = false
@name = default_name
end
|
Instance Attribute Details
#decision ⇒ Object
Returns the value of attribute decision.
125
126
127
|
# File 'lib/logical_authz/access_control.rb', line 125
def decision
@decision
end
|
#name ⇒ Object
Returns the value of attribute name.
125
126
127
|
# File 'lib/logical_authz/access_control.rb', line 125
def name
@name
end
|
Class Method Details
.names ⇒ Object
149
150
151
|
# File 'lib/logical_authz/access_control.rb', line 149
def names
@names ||= {}
end
|
Instance Method Details
#check(criteria) ⇒ Object
131
132
133
|
# File 'lib/logical_authz/access_control.rb', line 131
def check(criteria)
raise NotImplementedException
end
|
#default_name ⇒ Object
127
128
129
|
# File 'lib/logical_authz/access_control.rb', line 127
def default_name
"Unknown Rule"
end
|
#evaluate(criteria) ⇒ Object
135
136
137
138
139
140
141
142
143
144
145
146
|
# File 'lib/logical_authz/access_control.rb', line 135
def evaluate(criteria)
laz_debug{"Rule being examined: #{self.inspect}"}
if check(criteria) == true
laz_debug{"Rule: #@name triggered - authorization allowed: #@decision"}
return @decision
else
return nil
end
rescue Object => ex
Rails.logger.info{ "Exception raised checking rule \"#@name\": #{ex.class.name}: #{ex.message} @ #{ex.backtrace[0..2].inspect}" }
return false
end
|
#laz_debug ⇒ Object
121
122
123
|
# File 'lib/logical_authz/access_control.rb', line 121
def laz_debug
LogicalAuthz::laz_debug{yield} if block_given?
end
|