class DataValidation::Job

Attributes

slug[R]

Public Class Methods

create(api, list) click to toggle source
# File lib/data_validation/job.rb, line 5
def self.create(api, list)
  job = DataValidation::Job.new(api, list)
  job.create
  job
end
get(api, list, slug) click to toggle source
# File lib/data_validation/job.rb, line 11
def self.get(api, list, slug)
  job = DataValidation::Job.new(api, list)
  job.get(slug)
  job
end
new(api, list) click to toggle source
# File lib/data_validation/job.rb, line 17
def initialize(api, list)
  @api = api
  @list = list
  @slug = nil
end

Public Instance Methods

create() click to toggle source
# File lib/data_validation/job.rb, line 23
def create
  response = @api.post("list/#{@list.slug}/job/")
  if @api.valid_response?(response)
    raw = JSON.parse(response.body)
    raw_job = raw["job"][0]
    @slug = raw_job["slug"]
  else
    p response
    raise DataValidation::Error, "could not create job for list #{@list.slug}"
  end
end
done?() click to toggle source
# File lib/data_validation/job.rb, line 39
def done?
  response = @api.get("list/#{@list.slug}/job/#{@slug}/")
  if @api.valid_response?(response)
    raw = JSON.parse(response.body)
    raw_job = raw["job"][0]
    raw_pct = raw_job["pct_complete"]
    return raw_pct == 100
  else
    raise DataValidationError, "could not check job progress for list #{@list.slug}, job #{@job.slug}"
  end
end
get(slug) click to toggle source
# File lib/data_validation/job.rb, line 35
def get(slug)
  @slug = slug
end