class Cb::Clients::Application

Public Class Methods

create(criteria) click to toggle source
# File lib/cb/clients/application.rb, line 20
def create(criteria)
  response cb_call(:post, criteria, (criteria.host_site || Cb.configuration.host_site))
end
form(job_id) click to toggle source
# File lib/cb/clients/application.rb, line 28
def form(job_id)
  url = Cb.configuration.uri_application_form.sub(':did', job_id)
  response_hash = cb_client.cb_get(url, headers: headers(Cb.configuration.host_site))
  Responses::ApplicationForm.new response_hash
end
get(criteria) click to toggle source
# File lib/cb/clients/application.rb, line 16
def get(criteria)
  response cb_call(:get, criteria, Cb.configuration.host_site)
end
update(criteria) click to toggle source
# File lib/cb/clients/application.rb, line 24
def update(criteria)
  response cb_call(:put, criteria, Cb.configuration.host_site)
end

Private Class Methods

cb_call(http_method, criteria, host_site) click to toggle source
# File lib/cb/clients/application.rb, line 36
def cb_call(http_method, criteria, host_site)
  options = { headers: headers(host_site) }

  if [:post, :put].include? http_method
    options[:body] = criteria.to_json
  end

  uri = uri(criteria)
  cb_client.method(:"cb_#{http_method}").call(uri, options)
end
headers(host_site) click to toggle source
# File lib/cb/clients/application.rb, line 56
def headers(host_site)
  {
    'DeveloperKey' => Cb.configuration.dev_key,
    'HostSite' => host_site,
    'Content-Type' => 'application/json'
  }
end
response(response_hash) click to toggle source
# File lib/cb/clients/application.rb, line 47
def response(response_hash)
  Responses::Application.new response_hash
end
uri(criteria) click to toggle source
# File lib/cb/clients/application.rb, line 51
def uri(criteria)
  did = criteria.respond_to?(:application_did) ? criteria.application_did : ''
  Cb.configuration.uri_application.sub(':did', did)
end