Sha256: 10880d5e03f9ff43a2b316b418d9a3903f63e84bdeccc5d9261317e2ca063120

Contents?: true

Size: 1.34 KB

Versions: 35

Compression:

Stored size: 1.34 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

  SAVE_PATCH = "ooze_patch_update.json"

  def main(session, options, usecase)
    super(session, options, usecase) do
      if method(:process_ooze).parameters.count == 0
        ooze # retrieve ooze
        process_ooze
      else
        process_ooze(ooze)
      end
      yield(target) if block_given?
      exit_if_no_changes!
      update_ooze(target)
    end
  end

  def process_ooze(page = target)
    raise "You need to redefine this method"
  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(ooz = target)
    prompt_to_confirm!
    super(ooz)
  end

  def exit_if_no_changes!
    return if (changes = !!patch_doc["page"])

    log(:info) { "No Changes!!" }
    exit(0)
  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

35 entries across 35 versions & 1 rubygems

Version Path
eco-helpers-3.0.19 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.18 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.17 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.16 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.15 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.14 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.13 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.12 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.11 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.10 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.9 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.8 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.7 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.6 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.5 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.4 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.3 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.2 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.1 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb
eco-helpers-3.0.0 lib/eco/api/usecases/ooze_samples/ooze_run_base_case.rb