module DCI::Context

Public Class Methods

current() click to toggle source

The currently executing context

# File lib/dci/context.rb, line 6
def self.current
  Thread.current[:'DCI::Context.current']
end
included(calling_module) click to toggle source
# File lib/dci/context.rb, line 10
def self.included(calling_module)
  calling_module.extend(DSL)
end

Public Instance Methods

[](actor) click to toggle source
# File lib/dci/context.rb, line 24
def [](actor)
  @roles && @roles[actor]
end
cast(actor, roles) click to toggle source
# File lib/dci/context.rb, line 14
def cast(actor, roles)
  actor.extend(Castable) unless actor.is_a?(Castable)

  @roles ||= {}
  @roles[actor] ||= []
  @roles[actor] |= roles.values

  actor
end