Module: Surrounded::Context::InstanceMethods

Defined in:
lib/surrounded/context.rb

Instance Method Summary collapse

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(**options_hash)
  clear_instance_variables
  begin
    initialize(**options_hash)
  rescue ArgumentError
    initialize(*options_hash.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.

Returns:

  • (Boolean)


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.

Returns:

  • (Boolean)


103
104
105
# File 'lib/surrounded/context.rb', line 103

def role_player?(obj)
  role_map.role_player?(obj)
end

#triggersObject

Return a Set of all defined triggers



108
109
110
# File 'lib/surrounded/context.rb', line 108

def triggers
  self.class.triggers
end