class Cb::Clients::SavedSearch

Public Class Methods

create(saved_search) click to toggle source
# File lib/cb/clients/saved_search.rb, line 15
def self.create(saved_search)
  body = saved_search.create_to_json
  json = cb_client.cb_post(Cb.configuration.uri_saved_search_create, body: body, headers: create_headers)
  Responses::SavedSearch::Create.new(json)
end
delete(hash) click to toggle source
# File lib/cb/clients/saved_search.rb, line 27
def self.delete(hash)
  uri = replace_uri_field(Cb.configuration.uri_saved_search_delete, ':did', hash[:did])
  json = cb_client.cb_delete(
    uri,
    headers: { 'HostSite' => hash[:host_site] },
    query: { 'UserOAuthToken' => hash[:user_oauth_token] }
  )
  Responses::SavedSearch::Delete.new(json)
end
list(oauth_token, hostsite) click to toggle source
# File lib/cb/clients/saved_search.rb, line 44
def self.list(oauth_token, hostsite)
  query = list_query(oauth_token, hostsite)
  json = cb_client.cb_get(Cb.configuration.uri_saved_search_list, query: query)
  Responses::SavedSearch::List.new(json)
end
retrieve(oauth_token, external_id) click to toggle source
# File lib/cb/clients/saved_search.rb, line 37
def self.retrieve(oauth_token, external_id)
  query = retrieve_query(oauth_token)
  uri = replace_uri_field(Cb.configuration.uri_saved_search_retrieve, ':did', external_id)
  json = cb_client.cb_get(uri, query: query)
  Responses::SavedSearch::Retrieve.new(json)
end
update(saved_search) click to toggle source
# File lib/cb/clients/saved_search.rb, line 21
def self.update(saved_search)
  body = saved_search.update_to_json
  json = cb_client.cb_put(Cb.configuration.uri_saved_search_update, body: body, headers: update_headers(saved_search.host_site))
  Responses::SavedSearch::Update.new(json)
end

Private Class Methods

create_headers() click to toggle source
# File lib/cb/clients/saved_search.rb, line 60
def self.create_headers
  {
    'developerkey' => Cb.configuration.dev_key,
    'Content-Type' => 'application/json'
  }
end
list_query(oauth_token, hostsite) click to toggle source
# File lib/cb/clients/saved_search.rb, line 74
def self.list_query(oauth_token, hostsite)
  {
    developerkey: Cb.configuration.dev_key,
    useroauthtoken: oauth_token,
    hostsite: hostsite
  }
end
replace_uri_field(uri_string, field, replacement) click to toggle source
# File lib/cb/clients/saved_search.rb, line 82
def self.replace_uri_field(uri_string, field, replacement)
  uri_string.gsub(field, replacement)
end
retrieve_query(oauth_token) click to toggle source
# File lib/cb/clients/saved_search.rb, line 67
def self.retrieve_query(oauth_token)
  {
    developerkey: Cb.configuration.dev_key,
    useroauthtoken: oauth_token
  }
end
update_headers(host_site) click to toggle source
# File lib/cb/clients/saved_search.rb, line 52
def self.update_headers(host_site)
  {
    'developerkey' => Cb.configuration.dev_key,
    'Content-Type' => 'application/json',
    'HostSite' => (host_site.blank? ? Cb.configuration.host_site : host_site)
  }
end