class MergingQueue::Definition

Attributes

act_object[R]
act_target[R]
actor[R]
bond_type[R]
grouped_actor[R]
name[R]
options[R]

Public Class Methods

find(name) click to toggle source
# File lib/merging-queue/definition.rb, line 36
def self.find(name)
  unless definition = registered.find{|definition| definition.name == name.to_sym}
    raise MergingQueue::InvalidQueuedTask, "Could not find a definition for `#{name}`"
  else
    definition
  end
end
new(definition) click to toggle source

@param dsl [MergingQueue::DefinitionDSL] A DSL act_object

# File lib/merging-queue/definition.rb, line 8
def initialize(definition)
  @name             = definition[:name]
  @actor            = definition[:actor]         || nil
  @act_object       = definition[:act_object]    || nil
  @act_target       = definition[:act_target]    || nil
  @grouped_actor    = definition[:grouped_actor] || nil
  @bond_type        = definition[:bond_type]     || nil
  @options          = definition[:options]       || []
end
register(definition) click to toggle source

Registers a new definition

@param definition [Definition] The definition to register @return [Definition] Returns the registered definition

# File lib/merging-queue/definition.rb, line 23
def self.register(definition)
  return false unless definition.is_a? DefinitionDSL
  definition = new(definition)
  self.registered << definition
  return definition || false
end
registered() click to toggle source

List of registered definitions @return [Array<MergingQueue::Definition>]

# File lib/merging-queue/definition.rb, line 32
def self.registered
  @definitions ||= []
end