# File lib/needle/service-point.rb, line 54 def initialize( container, name, opts={}, &callback ) @name = name @container = container @callback = callback @pipeline = Needle::Pipeline::Collection.new self @chain = nil @chain_mutex = QueryableMutex.new @element_mutex = QueryableMutex.new if opts[:pipeline] elements = opts[:pipeline] else model = opts[:model] || :singleton elements = @container[:service_models][model] end elements.concat [ *opts[:include] ] if opts[:include] elements.each { |element| @pipeline.add element, opts } end