# File lib/yapra/pipeline.rb, line 50 def run pipeline_command, data=[] @plugins = [] begin pipeline_command.inject(data) do |data, command| execute_plugin(command, data.clone) end rescue => ex @plugins.each do |plugin| begin plugin.on_error(ex) if plugin.respond_to?('on_error') rescue => exx self.logger.error("error is occured when error handling: #{exx.message}") end end raise ex end end