Parent

Included Modules

Files

Needle::Pipeline::Element

The base class of instantiation pipeline elements. All subclasses MUST implement is the call method, to define the logic that instances of that pipeline element should perform when invoked.

Attributes

default_priority[R]

The default priority to use for elements of this type.

name[R]

The name of this element (may be nil).

options[R]

The hash of options that were given to this element.

priority[R]

The priority of this element, used to determine ordering. Higher ordered elements are invoked before lower-ordered elements.

service_point[R]

The service definition that this element belongs to.

succ[RW]

The next element in the chain. This value is only valid during pipeline execution--its value should not be relied upon at any other time.

Public Class Methods

new( point, name=nil, priority=nil, options={} ) click to toggle source

Create a new element instance with the given name and priority. This will call initialize_element, so that subclasses only need to implement that method if they have any initialization logic to perform.

# File lib/needle/pipeline/element.rb, line 59
def initialize( point, name=nil, priority=nil, options={} )
  @service_point = point
  @name, @priority = name, ( priority || self.class.default_priority )
  @options = options
  initialize_element
end
set_default_priority( priority ) click to toggle source

Set the default priority for elements of this type. Subclasses may use this method to set their default priority.

# File lib/needle/pipeline/element.rb, line 49
def set_default_priority( priority )
  @default_priority = priority
end

Public Instance Methods

<=>( element ) click to toggle source

Orders elements by their priority.

# File lib/needle/pipeline/element.rb, line 72
def <=>( element )
  priority <=> element.priority
end
[]( *args ) click to toggle source
Alias for: call
call( *args ) click to toggle source

Invoke this element's logic.

# File lib/needle/pipeline/element.rb, line 77
def call( *args )
  raise NotImplementedError
end
Also aliased as: []
initialize_element() click to toggle source

Invoked by the constructor to perform any subclass-specific initialization logic.

# File lib/needle/pipeline/element.rb, line 68
def initialize_element
end
reset!() click to toggle source

Invoked by Pipeline::Collection#reset!. Subclasses of Element that save any kind of state should override this method to clear that state on demand.

# File lib/needle/pipeline/element.rb, line 84
def reset!
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.