Parent

Included Modules

Files

Needle::Pipeline::Element

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

Attributes

service_point[R]

The service definition that this element belongs to.

name[R]

The name of this element (may be nil).

priority[R]

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

options[R]

The hash of options that were given to this element.

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.

default_priority[R]

The default priority to use for elements of this type.

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 #, 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
59:       def initialize( point, name=nil, priority=nil, options={} )
60:         @service_point = point
61:         @name, @priority = name, ( priority || self.class.default_priority )
62:         @options = options
63:         initialize_element
64:       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
49:         def set_default_priority( priority )
50:           @default_priority = priority
51:         end

Public Instance Methods

<=>( element ) click to toggle source

Orders elements by their priority.

    # File lib/needle/pipeline/element.rb, line 72
72:       def <=>( element )
73:         priority <=> element.priority
74:       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
77:       def call( *args )
78:         raise NotImplementedError
79:       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
68:       def initialize_element
69:       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
84:       def reset!
85:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.