Sha256: c1a2f88327a46df3304463d23eb3fa4ca5b5934e5f69761439bcdc31888469b7
Contents?: true
Size: 1.3 KB
Versions: 6
Compression:
Stored size: 1.3 KB
Contents
# [EventLog] $vmc_event = nil class VMC::CLI class ProgressEventReporter def initialize(message, skipper) @message = message @skipper = skipper @skipped = false end def skip(&blk) @skipped = true $vmc_event.skipped(@message) @skipper.skip(&blk) end def fail(&blk) @skipped = true $vmc_event.failed_to(@message) @skipper.fail(&blk) end def give_up(&blk) @skipped = true $vmc_event.gave_up(@message) @skipper.give_up(&blk) end def skipped? @skipped end end def ask(*args) $vmc_event.asking(*args) if $vmc_event super end def line(*args) $vmc_event.printed(*args) if $vmc_event super end def force? false end def with_progress(msg, &blk) super(msg) do |s| reporter = ProgressEventReporter.new(msg, s) res = blk.call(reporter) $vmc_event.did(msg) unless reporter.skipped? res end rescue $vmc_event.failed_to(msg) raise end end class Mothership::Inputs alias_method :vmc_spec_get, :[] def [](name, *args) val = vmc_spec_get(name, *args) $vmc_event.got_input(name, val) if $vmc_event val end end module Interactive def set_input_state(input) end def restore_input_state(input, before) end end
Version data entries
6 entries across 6 versions & 1 rubygems