class States::Dsl::Context

Attributes

naming[RW]
resource_defaults[RW]
traits[RW]

Public Class Methods

new(options={}) click to toggle source
# File lib/states/dsl/context.rb, line 6
def initialize(options={})
  @traits = {}
  @naming = Naming.new(nil)
  @naming.converter = options[:name_converter]
  @resource_defaults = options[:resource] || {}
end

Public Instance Methods

activity_resource(name) click to toggle source
# File lib/states/dsl/context.rb, line 42
def activity_resource(name)
  ResourceLookup.new(resource_defaults).activity(name)
end
create_sub_context(options={}) click to toggle source
# File lib/states/dsl/context.rb, line 13
def create_sub_context(options={})
  sub = Context.new
  sub.traits = traits

  sub.resource_defaults = resource_defaults
  if defaults = options[:resource]
    sub.resource_defaults = defaults
  end

  sub.naming = Naming.new(naming)
  if converter = options[:name_converter]
    sub.naming.converter = converter
  end
  sub
end
function_resource(name) click to toggle source
# File lib/states/dsl/context.rb, line 38
def function_resource(name)
  ResourceLookup.new(resource_defaults).function(name)
end
lookup_traits(names) click to toggle source
# File lib/states/dsl/context.rb, line 34
def lookup_traits(names)
  names.map { |nm| traits[nm] }
end
register_trait(name, trait) click to toggle source
# File lib/states/dsl/context.rb, line 29
def register_trait(name, trait)
  trait.context = self
  @traits[name] = trait
end