Sha256: 81d1af9b7221bb6fcba6bbc5550b9936828b18bda60041c3ebb6b2c218994517

Contents?: true

Size: 661 Bytes

Versions: 4

Compression:

Stored size: 661 Bytes

Contents

# frozen_string_literal: true

# PipelinePlanConsumerに渡すPipelineRunnerの作成を補助するクラス
# call(pipeline_plan)さえ実装していれば良いため、必ずしも本クラスを使う必要はありません。
class MedPipe::PipelineRunnerBase
  # PipelinePlanConsumerから呼び出されるメソッド
  def call(pipeline_plan)
    pipeline = build_pipeline(pipeline_plan)
    context = { plan: pipeline_plan }
    pipeline.run(context)
  end

  def build_pipeline(pipeline_plan)
    raise NotImplementedError("#{pipeline_plan.name}に対応するPipelineを作成する処理をサブクラスで実装してください")
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
med_pipe-0.2.0 lib/med_pipe/pipeline_runner_base.rb
med_pipe-0.1.1 lib/med_pipe/pipeline_runner_base.rb
med_pipe-0.1.0.5 lib/med_pipe/pipeline_runner_base.rb
med_pipe-0.1.0.4 lib/med_pipe/pipeline_runner_base.rb