Class: Janky::Builder::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/janky/builder/runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_url, build, adapter) ⇒ Runner

Returns a new instance of Runner.



4
5
6
7
8
# File 'lib/janky/builder/runner.rb', line 4

def initialize(base_url, build, adapter)
  @base_url = base_url
  @build    = build
  @adapter  = adapter
end

Instance Method Details

#context_pushObject



36
37
38
39
40
41
42
43
44
# File 'lib/janky/builder/runner.rb', line 36

def context_push
  Exception.push(
    :base_url   => @base_url.inspect,
    :build      => @build.inspect,
    :adapter    => @adapter.inspect,
    :params     => json_params.inspect,
    :create_url => create_url.inspect
  )
end

#create_urlObject



32
33
34
# File 'lib/janky/builder/runner.rb', line 32

def create_url
  URI("#{@base_url}job/#{@build.repo_job_name}/build")
end

#json_paramsObject



20
21
22
23
24
25
26
# File 'lib/janky/builder/runner.rb', line 20

def json_params
  Yajl.dump(:parameter => [
    { :name => "JANKY_SHA1",   :value => @build.sha1 },
    { :name => "JANKY_BRANCH", :value => @build.branch_name },
    { :name => "JANKY_ID",     :value => @build.id }
  ])
end

#outputObject



15
16
17
18
# File 'lib/janky/builder/runner.rb', line 15

def output
  context_push
  @adapter.output(output_url)
end

#output_urlObject



28
29
30
# File 'lib/janky/builder/runner.rb', line 28

def output_url
  URI(@build.url + "consoleText")
end

#runObject



10
11
12
13
# File 'lib/janky/builder/runner.rb', line 10

def run
  context_push
  @adapter.run(json_params, create_url)
end