class Crowdkit::Client::Poll

Public Class Methods

new(options, &block) click to toggle source
Calls superclass method Crowdkit::API::new
# File lib/crowdkit/client/poll.rb, line 5
def initialize(options, &block)
  super(options, &block)
  arguments([options], required: [:job_id])

  prepare_sawyer
  get_units

  @units.data.each do |unit|
    def unit.delete
      do_delete("units/#{id}/queue")
    end
  end unless @units.data.empty?
end

Public Instance Methods

any?() click to toggle source
# File lib/crowdkit/client/poll.rb, line 23
def any?
  last_response.status != 304
end
delete(*args) click to toggle source
# File lib/crowdkit/client/poll.rb, line 31
def delete(*args)
  arguments(args, required: [:job_id])
  do_delete("jobs/#{job_id}/units/queue", {ids: @units.data.map(&:id)}) if any?
end
each(&block) click to toggle source
# File lib/crowdkit/client/poll.rb, line 19
def each(&block)
  @units.each(&block)
end
method_missing(method_name, *args, &block) click to toggle source
# File lib/crowdkit/client/poll.rb, line 27
def method_missing(method_name, *args, &block)
  @units.send(method_name, *args, &block)
end

Private Instance Methods

get_units() click to toggle source
# File lib/crowdkit/client/poll.rb, line 38
def get_units
  @units = do_get("jobs/#{job_id}/units/queue", query: arguments.params)
end
prepare_sawyer() click to toggle source
# File lib/crowdkit/client/poll.rb, line 42
def prepare_sawyer
  config_link = config
  Sawyer::Resource.send(:include, RequestMethods)
  Sawyer::Resource.send(:define_method, :config) { config_link }
end