Sha256: 77f4d2a0e772730dba9741f2635a6c80dd7a395ba961cbeca112e3df27568cce
Contents?: true
Size: 1 KB
Versions: 3
Compression:
Stored size: 1 KB
Contents
# encoding: utf-8 require "tmpdir" require "fileutils" module CukeQ class ScenarioRunner attr_reader :repos def initialize(repo_directory = nil) @repos = repo_directory || CukeQ.root end def run(job, &callback) scm = scm_for job Dir.chdir scm.working_copy run_job(scm.working_copy, job, callback) rescue => ex yield :success => false, :error => ex.message, :backtrace => ex.backtrace, :run => job['run'] end def scm_for(job) url = job['scm']['url'] rev = job['scm']['revision'] scm = Scm.new(url, @repos) unless scm.current_revision.to_s == rev.to_s # TODO(jari): this doesn't ensure that current_revision == rev - it # would also make sense to move the logic to Scm scm.update {} # hmm. end scm end def run_job(working_copy, job, callback) AsyncJob.new(working_copy, job, callback).run end end # ScenarioRunner end # CukeQ
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cukeq-0.0.1.dev5 | lib/cukeq/scenario_runner.rb |
cukeq-0.0.1.dev4 | lib/cukeq/scenario_runner.rb |
cukeq-0.0.1.dev3 | lib/cukeq/scenario_runner.rb |