Sha256: 08ea24ff74d386f793da9bdccf18db34dcbb208327de786d5ec750be48f79ee1
Contents?: true
Size: 1.61 KB
Versions: 4
Compression:
Stored size: 1.61 KB
Contents
class Blitline require 'yajl' require 'blitline/attribute_jsonizer' require 'blitline/function' require 'blitline/job' require 'blitline/save' require 'blitline/s3_destination' require 'blitline/http_poster' include AttributeJsonizer attr_accessor :jobs def initialize @jobs = [] end # Heroku users don't need to specify application_id if they have ENV['BLITLINE_URL'] defined def add_job(image_source, function_name, function_params, image_identifier, application_id = nil) job = Blitline::Job.new(image_source) environment_app_id = ENV['BLITLINE_URL'] && ENV['BLITLINE_URL'].split("/").last job.application_id = environment_app_id || application_id job.add_function(function_name, function_params, image_identifier) @jobs << job end # Heroku users don't need to specify application_id if they have ENV['BLITLINE_URL'] defined def add_job_with_callback(image_source, function_name, function_params, image_identifier, postback_url, application_id = nil) job = Blitline::Job.new(image_source) environment_app_id = ENV['BLITLINE_URL'] && ENV['BLITLINE_URL'].split("/").last job.application_id = environment_app_id || application_id job.add_function(function_name, function_params, image_identifier) job.postback_url = postback_url @jobs << job end def validate raise "At least 1 job must be present to run" if @jobs.length < 1 @jobs.each { |j| j.validate } end def post_jobs validate result = Blitline::HttpPoster.post("http://www.blitline.com/api/job", { :json => Yajl::Encoder.encode(@jobs)}) return Yajl::Parser.parse(result) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
blitline-1.1.0 | lib/blitline.rb |
blitline-1.0.3 | lib/blitline.rb |
blitline-1.0.2 | lib/blitline.rb |
blitline-1.0.1 | lib/blitline.rb |