module Narrative::Scene::ClassMethods

Public Instance Methods

principal(name, partners: [], &block) click to toggle source
# 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) click to toggle source
# 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