class Yapra::PipelineBase
Attributes
context[R]
logger[W]
yapra[R]
Public Class Methods
new(pipeline_name, yapra=Yapra::Runtime.new)
click to toggle source
# File lib/yapra/pipeline_base.rb, line 9 def initialize pipeline_name, yapra=Yapra::Runtime.new @logger = nil @yapra = yapra @context = { 'pipeline_name' => pipeline_name } @module_name_prefix = construct_module_name_prefix yapra.env end
Public Instance Methods
load(command)
click to toggle source
# File lib/yapra/pipeline_base.rb, line 25 def load command plugin_name = command['module'] load_error_stack = [] plugin_class = nil @module_name_prefix.each do |prefix| yapra_module_name = "#{prefix}#{plugin_name}" begin plugin_class = Yapra.load_class_constant(yapra_module_name) break if plugin_class rescue LoadError, NameError => ex load_error_stack << ex end end raise_load_error(load_error_stack, command) unless plugin_class plugin = initialize_plugin( plugin_class ) plugin end
logger()
click to toggle source
# File lib/yapra/pipeline_base.rb, line 21 def logger return @logger || Yapra::Runtime.logger end
name()
click to toggle source
# File lib/yapra/pipeline_base.rb, line 17 def name self.context[ 'pipeline_name' ] end
Protected Instance Methods
construct_module_name_prefix(env)
click to toggle source
# File lib/yapra/pipeline_base.rb, line 54 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
initialize_plugin(plugin_class)
click to toggle source
# File lib/yapra/pipeline_base.rb, line 46 def initialize_plugin plugin_class plugin = plugin_class.new plugin.yapra = yapra if plugin.respond_to?('yapra=') plugin.pipeline = self if plugin.respond_to?('pipeline=') plugin end