class Fudge::Runner

Executes the build

Public Class Methods

new(description) click to toggle source
# File lib/fudge/runner.rb, line 4
def initialize(description)
  @description = description
end

Public Instance Methods

run_build(which_build='default', options={}) click to toggle source

Run the specified build

@param [String] which_build Defaults to 'default'

# File lib/fudge/runner.rb, line 11
def run_build(which_build='default', options={})
  formatter = options[:formatter] || Fudge::Formatters::Simple.new
  output_start(which_build, formatter)
  status = run(which_build, options)
  output_status(status, formatter)
end

Private Instance Methods

output_start(which, formatter) click to toggle source
# File lib/fudge/runner.rb, line 20
def output_start(which, formatter)
  which_build = String.new(which)
  formatter.write { |w| w.info('Running build').notice(which_build) }
end
output_status(success, formatter) click to toggle source
# File lib/fudge/runner.rb, line 33
def output_status(success, formatter)
  # Output status
  if success
    formatter.write { |w| w.success('Build SUCCEEDED!') }
  else
    raise Exceptions::BuildFailed
  end
end
run(which, options) click to toggle source
# File lib/fudge/runner.rb, line 25
def run(which, options)
  # Run the build
  build = @description.builds[which.to_sym]
  build.callbacks = options[:callbacks]
  build.time = options[:time]
  build.run :formatter => options[:formatter]
end