Class: Surrounded::Context::RoleMap

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/surrounded/context/role_map.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.container_class=(klass) ⇒ Object



17
18
19
# File 'lib/surrounded/context/role_map.rb', line 17

def container_class=(klass)
  @container_class = klass
end

.from_base(klass = ::Triad) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/surrounded/context/role_map.rb', line 9

def from_base(klass=::Triad)
  role_mapper = Class.new(self)
  Surrounded::Exceptions.define(role_mapper, exceptions: :ItemNotPresent, namespace: klass)
  role_mapper.container_class=(klass)
  role_mapper.def_delegators :container, :update, :each, :values, :keys
  role_mapper
end

Instance Method Details

#assigned_player(role) ⇒ Object



36
37
38
# File 'lib/surrounded/context/role_map.rb', line 36

def assigned_player(role)
  values(role).first
end

#containerObject



22
23
24
# File 'lib/surrounded/context/role_map.rb', line 22

def container
  @container ||= self.class.instance_variable_get(:@container_class).new
end

#role?(role) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/surrounded/context/role_map.rb', line 26

def role?(role)
  keys.include?(role)
end

#role_player?(object) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/surrounded/context/role_map.rb', line 30

def role_player?(object)
  !values(object).empty?
rescue ::StandardError
  false
end