Module: Surrounded::Context::InstanceMethods
- Defined in:
- lib/surrounded/context.rb
Instance Method Summary collapse
-
#rebind(**options_hash) ⇒ Object
Reuse the same context object but pass new values.
-
#role?(name, &block) ⇒ Boolean
Check whether a given name is a role inside the context.
-
#role_player?(obj) ⇒ Boolean
Check if a given object is a role player in the context.
-
#triggers ⇒ Object
Return a Set of all defined triggers.
Instance Method Details
#rebind(**options_hash) ⇒ Object
Reuse the same context object but pass new values
113 114 115 116 117 118 119 120 121 |
# File 'lib/surrounded/context.rb', line 113 def rebind(**) clear_instance_variables begin initialize(**) rescue ArgumentError initialize(*.values) end self end |
#role?(name, &block) ⇒ Boolean
Check whether a given name is a role inside the context. The provided block is used to evaluate whether or not the caller is allowed to inquire about the roles.
96 97 98 99 100 |
# File 'lib/surrounded/context.rb', line 96 def role?(name, &block) return false unless role_map.role?(name) accessor = block.binding.eval("self") role_map.role_player?(accessor) && role_map.assigned_player(name) end |
#role_player?(obj) ⇒ Boolean
Check if a given object is a role player in the context.
103 104 105 |
# File 'lib/surrounded/context.rb', line 103 def role_player?(obj) role_map.role_player?(obj) end |
#triggers ⇒ Object
Return a Set of all defined triggers
108 109 110 |
# File 'lib/surrounded/context.rb', line 108 def triggers self.class.triggers end |