class FastBound::Acquisition

Constants

CREATE_AND_EDIT_ATTRS
ENDPOINTS

Public Class Methods

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

Public Instance Methods

attach_contact(acquisition_id, contact_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 126
def attach_contact(acquisition_id, contact_id)
  endpoint = ENDPOINTS[:attach_contact] % [acquisition_id, contact_id]

  put_request(@client, endpoint)
end
commit(acquisition_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 76
def commit(acquisition_id)
  endpoint = ENDPOINTS[:commit] % acquisition_id

  post_request(@client, endpoint)
end
create(acquisition_data) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 42
def create(acquisition_data)
  requires!(acquisition_data, *CREATE_AND_EDIT_ATTRS[:required])

  endpoint = ENDPOINTS[:create]
  acquisition_data = standardize_body_data(acquisition_data, CREATE_AND_EDIT_ATTRS[:permitted])

  post_request(@client, endpoint, acquisition_data)
end
create_and_commit(acquisition_data, item_data, contact_data) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 82
def create_and_commit(acquisition_data, item_data, contact_data)
  requires!(acquisition_data, *CREATE_AND_EDIT_ATTRS[:required])
  requires!(item_data, *Item::CREATE_AND_EDIT_ATTRS[:required])

  endpoint = ENDPOINTS[:create_and_commit]
  acquisition_data = standardize_body_data(acquisition_data, CREATE_AND_EDIT_ATTRS[:permitted])
  item_data = standardize_body_data(item_data, Item::CREATE_AND_EDIT_ATTRS[:permitted])
  contact_data = standardize_body_data(contact_data, Contact::CREATE_AND_EDIT_ATTRS)
  request_data = acquisition_data.merge(
    contact: contact_data,
    items: [item_data]
  )

  post_request(@client, endpoint, request_data)
end
create_item(acquisition_id, item_data) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 98
def create_item(acquisition_id, item_data)
  requires!(item_data, *Item::CREATE_AND_EDIT_ATTRS[:required])

  endpoint = ENDPOINTS[:create_item] % acquisition_id
  item_data = standardize_body_data(item_data, Item::CREATE_AND_EDIT_ATTRS[:permitted])

  post_request(@client, endpoint, item_data)
end
delete(acquisition_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 70
def delete(acquisition_id)
  endpoint = ENDPOINTS[:delete] % acquisition_id

  delete_request(@client, endpoint)
end
delete_item(acquisition_id, item_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 120
def delete_item(acquisition_id, item_id)
  endpoint = ENDPOINTS[:delete_item] % [acquisition_id, item_id]

  delete_request(@client, endpoint)
end
edit(acquisition_id, acquisition_data) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 51
def edit(acquisition_id, acquisition_data)
  endpoint = ENDPOINTS[:edit] % acquisition_id
  acquisition_data = standardize_body_data(acquisition_data, CREATE_AND_EDIT_ATTRS[:permitted])

  put_request(@client, endpoint, acquisition_data)
end
edit_item(acquisition_id, item_id, item_data) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 107
def edit_item(acquisition_id, item_id, item_data)
  endpoint = ENDPOINTS[:edit_item] % [acquisition_id, item_id]
  item_data = standardize_body_data(item_data, Item::CREATE_AND_EDIT_ATTRS[:permitted])

  put_request(@client, endpoint, item_data)
end
fetch(acquisition_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 58
def fetch(acquisition_id)
  endpoint = ENDPOINTS[:fetch] % acquisition_id

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

  get_request(@client, endpoint)
end
fetch_item(acquisition_id, item_id) click to toggle source
# File lib/fastbound-ruby/acquisition.rb, line 114
def fetch_item(acquisition_id, item_id)
  endpoint = ENDPOINTS[:fetch_item] % [acquisition_id, item_id]

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

  get_request(@client, endpoint)
end