Sha256: 3e98b2a89a41e061e6bdea1eae0a45d7048a269c4a521e2437774ce99d5353ab

Contents?: true

Size: 1.39 KB

Versions: 12

Compression:

Stored size: 1.39 KB

Contents

# Base class to run a script against a single ooze.
class Eco::API::UseCases::OozeSamples::OozeRunBaseCase < Eco::API::UseCases::OozeSamples::OozeBaseCase
  name "ooze-run-base"
  type :other

  attr_reader :session, :options, :usecase

  SAVE_PATCH = "ooze_patch_update.json"

  def main(session, options, usecase, &block)
    raise "You need to inherit from this class and call super with a block" unless block
    @session = session; @options = options; @usecase = usecase
    process_ooze(&block)
  end

  def process_ooze(ooze = target)
    raise "You need to inherit from this class and call super with a block" unless block_given?
    super(ooze) do
      yield(ooze)
      exit_if_no_changes!
    end
  end

  private

  def ooze
    super(ooze_id, stage_id: stage_id)
  end

  def stage(stage_id_name = stage_id, ooze: target)
    super(stage_id_name, ooze: ooze)
  end

  def ooze_id
    options.dig(:source, :ooze_id)
  end

  def stage_id
    options.dig(:source, :stage_id)
  end

  def update_ooze
    prompt_to_confirm!
    super
  end

  def exit_if_no_changes!
    unless changes = !!patch_doc["page"]
      logger.warn "No Changes!!"
      exit(0)
    end
  end

  def prompt_to_confirm!
    micro.prompt_user("Do you want to proceed (y/N)?", default: "Y") do |response|
      exit(1) unless response.upcase.start_with?("Y")
    end
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
eco-helpers-2.0.45 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.44 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.43 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.42 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.41 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.40 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.39 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.38 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.37 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.36 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.35 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-2.0.34 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb