class Fudge::Build
Represents a build defined in the FudgeFile
Attributes
about[RW]
@!attribute about
@return [String] a brief description of the build; this is output by the 'list' command
callbacks[RW]
description[R]
failure_hooks[R]
formatter[R]
success_hooks[R]
time[RW]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/fudge/build.rb, line 14 def initialize(*args) @success_hooks = [] @failure_hooks = [] super end
Public Instance Methods
run(options={})
click to toggle source
Run task
Calls superclass method
# File lib/fudge/build.rb, line 22 def run(options={}) start_time = Time.new init_formatter(options) success = super if callbacks return false unless run_callbacks(success) end report_time(start_time, time) success end
Private Instance Methods
init_formatter(options)
click to toggle source
# File lib/fudge/build.rb, line 40 def init_formatter(options) @formatter = options[:formatter] || Fudge::Formatters::Simple.new end
message(message)
click to toggle source
# File lib/fudge/build.rb, line 36 def message(message) formatter.write { |w| w.info(message) } end
report_time(start_time, time)
click to toggle source
# File lib/fudge/build.rb, line 44 def report_time(start_time, time) message "Finished in #{"%.2f" % (Time.new - start_time)} seconds." if time end
run_callbacks(success)
click to toggle source
# File lib/fudge/build.rb, line 48 def run_callbacks(success) message "Running #{success ? 'success' : 'failure'} callbacks..." hooks = success ? @success_hooks : @failure_hooks hooks.each do |hook| return false unless hook.run :formatter => formatter end end