Class: Cb::Clients::SavedSearch
- Defined in:
- lib/cb/clients/saved_search.rb
Class Method Summary collapse
- .create(saved_search) ⇒ Object
- .delete(hash) ⇒ Object
- .list(oauth_token, hostsite) ⇒ Object
- .list_query(oauth_token, hostsite) ⇒ Object
- .replace_uri_field(uri_string, field, replacement) ⇒ Object
- .retrieve(oauth_token, external_id) ⇒ Object
- .retrieve_query(oauth_token) ⇒ Object
- .singular_model_response(json_hash, external_user_id = nil, external_id = nil) ⇒ Object
- .update(saved_search) ⇒ Object
- .update_headers(host_site) ⇒ Object
Methods inherited from Base
Class Method Details
.create(saved_search) ⇒ Object
15 16 17 18 19 |
# File 'lib/cb/clients/saved_search.rb', line 15 def self.create(saved_search) body = saved_search.create_to_xml json = cb_client.cb_post(Cb.configuration.uri_saved_search_create, body: body) singular_model_response(json, saved_search.external_user_id) end |
.delete(hash) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# 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) ⇒ Object
44 45 46 47 48 |
# 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 |
.list_query(oauth_token, hostsite) ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/cb/clients/saved_search.rb', line 67 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) ⇒ Object
81 82 83 |
# File 'lib/cb/clients/saved_search.rb', line 81 def self.replace_uri_field(uri_string, field, replacement) uri_string.gsub(field, replacement) end |
.retrieve(oauth_token, external_id) ⇒ Object
37 38 39 40 41 42 |
# 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 |
.retrieve_query(oauth_token) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/cb/clients/saved_search.rb', line 60 def self.retrieve_query(oauth_token) { developerkey: Cb.configuration.dev_key, useroauthtoken: oauth_token } end |
.singular_model_response(json_hash, external_user_id = nil, external_id = nil) ⇒ Object
75 76 77 78 79 |
# File 'lib/cb/clients/saved_search.rb', line 75 def self.singular_model_response(json_hash, external_user_id = nil, external_id = nil) json_hash['ExternalUserID'] = external_user_id unless external_user_id.nil? json_hash['ExternalID'] = external_id unless external_id.nil? Responses::SavedSearch::Singular.new(json_hash) end |
.update(saved_search) ⇒ Object
21 22 23 24 25 |
# 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 |
.update_headers(host_site) ⇒ Object
52 53 54 55 56 57 58 |
# 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 |