<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/yapra/pipeline_base.rb</filename>
    </added>
    <added>
      <filename>lib/yapra/rb_pipeline.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -3,29 +3,11 @@ require 'yapra/runtime'
 require 'yapra/inflector'
 require 'yapra/legacy_plugin/base'
 
-class Yapra::Pipeline
-  attr_reader :yapra, :context
-  attr_writer :logger
+class Yapra::Pipeline &lt; Yapra::PipelineBase
   attr_accessor :legacy_plugin_registry
   
   UPPER_CASE = /[A-Z]/
   
-  def initialize pipeline_name, yapra=Yapra::Runtime.new
-    @logger             = nil
-    @yapra              = yapra
-    @context            = { 'pipeline_name' =&gt; pipeline_name }
-    
-    @module_name_prefix = construct_module_name_prefix yapra.env
-  end
-  
-  def name
-    self.context[ 'pipeline_name' ]
-  end
-  
-  def logger
-    return @logger || Yapra::Runtime.logger
-  end
-  
   # start pipeline from commands.
   # 
   # example:
@@ -87,20 +69,11 @@ class Yapra::Pipeline
   
   def run_class_based_plugin command, data
     self.logger.debug(&quot;evaluate plugin as class based&quot;)
-    load_error_stack = []
-    plugin_class = nil
-    @module_name_prefix.each do |prefix|
-      yapra_module_name = &quot;#{prefix}#{command['module']}&quot;
-      begin
-        plugin_class      = Yapra.load_class_constant(yapra_module_name)
-        break if plugin_class
-      rescue LoadError, NameError =&gt; ex
-        load_error_stack &lt;&lt; ex
-      end
-    end
-    raise_load_error(load_error_stack, command) unless plugin_class
+    plugin = load(command['module'])
+    
+    # yml pipeline specific.
+    plugin.plugin_config  = command['config'] if plugin.respond_to?('plugin_config=')
     
-    plugin = initialize_plugin(plugin_class, command)
     @plugins &lt;&lt; plugin
     data = plugin.run(data)
     return data
@@ -116,24 +89,4 @@ class Yapra::Pipeline
     load_error.set_backtrace(backtrace)
     raise load_error
   end
-  
-  def initialize_plugin plugin_class, command
-    plugin                = plugin_class.new
-    plugin.yapra          = yapra if plugin.respond_to?('yapra=')
-    plugin.pipeline       = self  if plugin.respond_to?('pipeline=')
-    plugin.plugin_config  = command['config'] if plugin.respond_to?('plugin_config=')
-    plugin
-  end
-  
-  def construct_module_name_prefix env
-    module_name_prefix = [ 'Yapra::Plugin::', '' ]
-    if env['module_name_prefix']
-      if env['module_name_prefix'].kind_of?(Array)
-        module_name_prefix = env['module_name_prefix']
-      else
-        module_name_prefix = [ env['module_name_prefix'] ]
-      end
-    end
-    module_name_prefix
-  end
 end</diff>
      <filename>lib/yapra/pipeline.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>68365cad5a34de63a35b4371cfae0f7c35269542</id>
    </parent>
  </parents>
  <author>
    <name>yuanying</name>
    <email>yuanying@fraction.jp</email>
  </author>
  <url>http://github.com/yuanying/yapra/commit/86a1c2e3d32e9a17345fff87defee5cd0aab1f30</url>
  <id>86a1c2e3d32e9a17345fff87defee5cd0aab1f30</id>
  <committed-date>2009-01-06T21:42:11-08:00</committed-date>
  <authored-date>2009-01-06T21:42:11-08:00</authored-date>
  <message>scaffold for ruby pipeline.</message>
  <tree>fe0e18e72d2e1db6a9ad028aa1428432b4ea903d</tree>
  <committer>
    <name>yuanying</name>
    <email>yuanying@fraction.jp</email>
  </committer>
</commit>
