Class: Farm::Runner

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

Class Method Summary collapse

Class Method Details

.run(*args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/farm/runner.rb', line 7

def self.run(*args)
  @payload_object = args.shift[:payload_object]

  unless @payload_object.respond_to?(:perform)
    raise ArgumentError, 'Cannot run items which do not respond to perform'
  end

  if ENV['FARM_ENV'].to_s.strip == 'local'
    `rake farm:run CMD='#{serialized}'`
  else
    Farm::Http.heroku_run serialized
  end
end

.serializedObject



21
22
23
# File 'lib/farm/runner.rb', line 21

def self.serialized
  CGI.escape(YAML.dump(@payload_object))
end