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