Class: Janky::JobCreator::Creator

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

Instance Method Summary collapse

Constructor Details

#initialize(adapter, server_url, callback_url) ⇒ Creator

Returns a new instance of Creator.



21
22
23
24
25
# File 'lib/janky/job_creator.rb', line 21

def initialize(adapter, server_url, callback_url)
  @adapter      = adapter
  @server_url   = server_url
  @callback_url = callback_url
end

Instance Method Details

#exception_context(config, name, uri) ⇒ Object



43
44
45
46
47
48
49
50
51
52
# File 'lib/janky/job_creator.rb', line 43

def exception_context(config, name, uri)
  Exception.push(
    :server_url   => @server_url.inspect,
    :callback_url => @callback_url.inspect,
    :adapter      => @adapter.inspect,
    :config       => config.inspect,
    :name         => name.inspect,
    :repo         => uri.inspect
  )
end

#run(name, uri, template_path) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/janky/job_creator.rb', line 27

def run(name, uri, template_path)
  template = Tilt.new(template_path.to_s)
  config   = template.render(Object.new, {
    :name         => name,
    :repo         => uri,
    :callback_url => @callback_url
  })

  exception_context(config, name, uri)

  if !@adapter.exists?(@server_url, name)
    @adapter.run(@server_url, name, config)
    true
  end
end