class ConstantContact::Services::ListService
Public Class Methods
add_list(list)
click to toggle source
Add a new list to the Constant Contact account @param [ContactList] list @return [ContactList]
# File lib/constantcontact/services/list_service.rb, line 30 def add_list(list) url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.lists') url = build_url(url) payload = list.to_json response = RestClient.post(url, payload, get_headers()) Components::ContactList.create(JSON.parse(response.body)) end
get_contacts_from_list(list_id, params = nil)
click to toggle source
Get all contacts from an individual list @param [Integer] list_id - list id to retrieve contacts for @param [Hash] params - query parameters to attach to request @return [Array<Contact>]
# File lib/constantcontact/services/list_service.rb, line 66 def get_contacts_from_list(list_id, params = nil) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.list_contacts'), list_id) url = build_url(url, params) response = RestClient.get(url, get_headers()) contacts = [] body = JSON.parse(response.body) body['results'].each do |contact| contacts << Components::Contact.create(contact) end Components::ResultSet.new(contacts, body['meta']) end
get_list(list_id)
click to toggle source
Get an individual contact list @param [Integer] list_id - list id @return [ContactList]
# File lib/constantcontact/services/list_service.rb, line 54 def get_list(list_id) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.list'), list_id) url = build_url(url) response = RestClient.get(url, get_headers()) Components::ContactList.create(JSON.parse(response.body)) end
get_lists(params = {})
click to toggle source
Get lists within an account @param [Hash] params - query parameters to be appended to the request @return [Array<ContactList>]
# File lib/constantcontact/services/list_service.rb, line 15 def get_lists(params = {}) url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.lists') url = build_url(url, params) response = RestClient.get(url, get_headers()) lists = [] JSON.parse(response.body).each do |contact| lists << Components::ContactList.create(contact) end lists end
update_list(list)
click to toggle source
Update a Contact List @param [ContactList] list - ContactList to be updated @return [ContactList]
# File lib/constantcontact/services/list_service.rb, line 42 def update_list(list) url = Util::Config.get('endpoints.base_url') + sprintf(Util::Config.get('endpoints.list'), list.id) url = build_url(url) payload = list.to_json response = RestClient.put(url, payload, get_headers()) Components::ContactList.create(JSON.parse(response.body)) end