Module: Narrative::Scene::ClassMethods

Defined in:
lib/narrative/scene.rb

Instance Method Summary collapse

Instance Method Details

#principal(name, partners: [], &block) ⇒ Object



18
19
20
21
22
23
# File 'lib/narrative/scene.rb', line 18

def principal(name, partners: [], &block)
  raise 'principal is defined twice' if method_defined?(:principal)

  role name, partners: partners, &block
  alias_method :principal, name
end

#role(name, partners: [], &block) ⇒ Object



13
14
15
16
# File 'lib/narrative/scene.rb', line 13

def role(name, partners: [], &block)
  roles << RoleDefinition.new(name, partners, &block)
  define_method(name.to_sym) { @actors[name] }
end