class FastBound::Contact

Constants

CREATE_AND_EDIT_ATTRS
CREATE_AND_EDIT_LICENSE_ATTRS
ENDPOINTS
MERGE_ATTRS

Public Class Methods

new(client) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 38
def initialize(client)
  @client = client
end

Public Instance Methods

create(contact_data) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 48
def create(contact_data)
  endpoint = ENDPOINTS[:create]
  contact_data = standardize_body_data(contact_data, CREATE_AND_EDIT_ATTRS)

  post_request(@client, endpoint, contact_data)
end
create_license(contact_id, license_data) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 89
def create_license(contact_id, license_data)
  requires!(license_data, *CREATE_AND_EDIT_LICENSE_ATTRS[:required])

  endpoint = ENDPOINTS[:create_license] % contact_id
  license_data = standardize_body_data(license_data, CREATE_AND_EDIT_LICENSE_ATTRS[:permitted])

  post_request(@client, endpoint, license_data)
end
delete(contact_id) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 74
def delete(contact_id)
  endpoint = ENDPOINTS[:delete] % contact_id

  delete_request(@client, endpoint)
end
delete_license(contact_id, license_id) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 111
def delete_license(contact_id, license_id)
  endpoint = ENDPOINTS[:delete_license] % [contact_id, license_id]

  delete_request(@client, endpoint)
end
edit(contact_id, contact_data) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 55
def edit(contact_id, contact_data)
  endpoint = ENDPOINTS[:edit] % contact_id
  contact_data = standardize_body_data(contact_data, CREATE_AND_EDIT_ATTRS)

  put_request(@client, endpoint, contact_data)
end
edit_license(contact_id, license_data) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 98
def edit_license(contact_id, license_data)
  endpoint = ENDPOINTS[:edit_license] % contact_id
  license_data = standardize_body_data(license_data, CREATE_AND_EDIT_LICENSE_ATTRS[:permitted])

  put_request(@client, endpoint, license_data)
end
fetch(contact_id) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 62
def fetch(contact_id)
  endpoint = ENDPOINTS[:fetch] % contact_id

  get_request(@client, endpoint)
end
fetch_by_external_id(external_id) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 68
def fetch_by_external_id(external_id)
  endpoint = ENDPOINTS[:fetch_by_external_id] % external_id

  get_request(@client, endpoint)
end
fetch_license(contact_id, license_id) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 105
def fetch_license(contact_id, license_id)
  endpoint = ENDPOINTS[:fetch_license] % [contact_id, license_id]

  get_request(@client, endpoint)
end
list(params = {}) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 42
def list(params = {})
  endpoint = ENDPOINTS[:list] % convert_params_to_request_query(params)

  get_request(@client, endpoint)
end
merge(merge_data) click to toggle source
# File lib/fastbound-ruby/contact.rb, line 80
def merge(merge_data)
  requires!(merge_data, *MERGE_ATTRS[:required])

  endpoint = ENDPOINTS[:merge]
  merge_data = standardize_body_data(merge_data, MERGE_ATTRS[:permitted])

  post_request(@client, endpoint, merge_data)
end