Class: Toni::Permission
- Inherits:
-
Object
- Object
- Toni::Permission
- Defined in:
- lib/toni/permission.rb
Instance Attribute Summary collapse
-
#activities ⇒ Object
readonly
Returns the value of attribute activities.
-
#matchers ⇒ Object
readonly
Returns the value of attribute matchers.
-
#resource_name ⇒ Object
readonly
Returns the value of attribute resource_name.
Instance Method Summary collapse
- #add_matcher(method_name, matcher, is_attr = false) ⇒ Object
-
#initialize(resource_name, activities = []) ⇒ Permission
constructor
A new instance of Permission.
- #permitted_to?(activity, res, options = {}) ⇒ Boolean
Constructor Details
#initialize(resource_name, activities = []) ⇒ Permission
Returns a new instance of Permission.
8 9 10 11 12 |
# File 'lib/toni/permission.rb', line 8 def initialize(resource_name, activities = []) @resource_name = resource_name @matchers = [] @activities = activities end |
Instance Attribute Details
#activities ⇒ Object (readonly)
Returns the value of attribute activities.
6 7 8 |
# File 'lib/toni/permission.rb', line 6 def activities @activities end |
#matchers ⇒ Object (readonly)
Returns the value of attribute matchers.
6 7 8 |
# File 'lib/toni/permission.rb', line 6 def matchers @matchers end |
#resource_name ⇒ Object (readonly)
Returns the value of attribute resource_name.
6 7 8 |
# File 'lib/toni/permission.rb', line 6 def resource_name @resource_name end |
Instance Method Details
#add_matcher(method_name, matcher, is_attr = false) ⇒ Object
14 15 16 |
# File 'lib/toni/permission.rb', line 14 def add_matcher(method_name, matcher, is_attr = false) @matchers << PermissionMatcher.new(method_name, matcher, is_attr) end |
#permitted_to?(activity, res, options = {}) ⇒ Boolean
18 19 20 21 |
# File 'lib/toni/permission.rb', line 18 def permitted_to?(activity, res, ={}) resource_name == (res.is_a?(Symbol) ? res : res.class.) && activities.include?(activity) && matches?(res) end |