class FastBound::Disposition
Constants
- COMMIT_ATTRS
- CREATE_AS_DESTROYED_ATTRS
- CREATE_AS_NFA_ATTRS
- CREATE_AS_THEFT_LOSS_ATTRS
- CREATE_ATTRS
- EDIT_AND_CREATE_COMMIT_ATTRS
- ENDPOINTS
- ITEM_ATTRS
Public Class Methods
new(client)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 75 def initialize(client) @client = client end
Public Instance Methods
add_items(disposition_id, items_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 171 def add_items(disposition_id, items_data) items_data.each { |item| requires!(item, :id) } endpoint = ENDPOINTS[:add_items] % disposition_id items_data = { items: items_data.map { |item| standardize_body_data(item, ITEM_ATTRS[:add]) } } post_request(@client, endpoint, items_data) end
add_items_by_external_id(disposition_id, items_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 180 def add_items_by_external_id(disposition_id, items_data) items_data.each { |item| requires!(item, :external_id) } endpoint = ENDPOINTS[:add_items_by_external_id] % disposition_id items_data = { items: items_data.map { |item| standardize_body_data(item, ITEM_ATTRS[:add_by_external_id]) } } post_request(@client, endpoint, items_data) end
attach_contact(disposition_id, contact_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 214 def attach_contact(disposition_id, contact_id) endpoint = ENDPOINTS[:attach_contact] % [disposition_id, contact_id] put_request(@client, endpoint) end
commit(disposition_id, commit_data = {})
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 148 def commit(disposition_id, commit_data = {}) endpoint = ENDPOINTS[:commit] % disposition_id commit_data = { manufacturingChanges: standardize_body_data(commit_data, COMMIT_ATTRS) } post_request(@client, endpoint, commit_data) end
create(disposition_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 91 def create(disposition_data) requires!(disposition_data, *CREATE_ATTRS[:required]) endpoint = ENDPOINTS[:create] disposition_data = standardize_body_data(disposition_data, CREATE_ATTRS[:permitted]) post_request(@client, endpoint, disposition_data) end
create_and_commit(disposition_data, items_data, contact_data = {}, commit_data = nil)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 155 def create_and_commit(disposition_data, items_data, contact_data = {}, commit_data = nil) items_data.each { |item| requires!(item, :id) } endpoint = ENDPOINTS[:create_and_commit] disposition_data = standardize_body_data(disposition_data, EDIT_AND_CREATE_COMMIT_ATTRS) items_data = items_data.map { |item| standardize_body_data(item, ITEM_ATTRS[:add]) } contact_data = standardize_body_data(contact_data, Contact::CREATE_AND_EDIT_ATTRS) request_data = disposition_data.merge( contact: contact_data, items: items_data, manufacturingChanges: commit_data ).compact post_request(@client, endpoint, request_data) end
create_as_destroyed(disposition_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 116 def create_as_destroyed(disposition_data) endpoint = ENDPOINTS[:create_as_destroyed] disposition_data = standardize_body_data(disposition_data, CREATE_AS_DESTROYED_ATTRS) post_request(@client, endpoint, disposition_data) end
create_as_nfa(disposition_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 100 def create_as_nfa(disposition_data) requires!(disposition_data, *CREATE_AS_NFA_ATTRS[:required]) endpoint = ENDPOINTS[:create_as_nfa] disposition_data = standardize_body_data(disposition_data, CREATE_AS_NFA_ATTRS[:permitted]) post_request(@client, endpoint, disposition_data) end
create_as_theft_loss(disposition_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 109 def create_as_theft_loss(disposition_data) endpoint = ENDPOINTS[:create_as_theft_loss] disposition_data = standardize_body_data(disposition_data, CREATE_AS_THEFT_LOSS_ATTRS) post_request(@client, endpoint, disposition_data) end
delete(disposition_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 142 def delete(disposition_id) endpoint = ENDPOINTS[:delete] % disposition_id delete_request(@client, endpoint) end
edit(disposition_id, disposition_data)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 123 def edit(disposition_id, disposition_data) endpoint = ENDPOINTS[:edit] % disposition_id disposition_data = standardize_body_data(disposition_data, EDIT_AND_CREATE_COMMIT_ATTRS) put_request(@client, endpoint, disposition_data) end
edit_item_price(disposition_id, item_id, price)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 195 def edit_item_price(disposition_id, item_id, price) endpoint = ENDPOINTS[:edit_item_price] % [disposition_id, item_id] item_data = { price: price } put_request(@client, endpoint, item_data) end
fetch(disposition_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 130 def fetch(disposition_id) endpoint = ENDPOINTS[:fetch] % disposition_id get_request(@client, endpoint) end
fetch_by_external_id(external_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 136 def fetch_by_external_id(external_id) endpoint = ENDPOINTS[:fetch_by_external_id] % external_id get_request(@client, endpoint) end
fetch_items(disposition_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 189 def fetch_items(disposition_id) endpoint = ENDPOINTS[:fetch_items] % disposition_id get_request(@client, endpoint) end
list(params = {})
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 79 def list(params = {}) endpoint = ENDPOINTS[:list] % convert_params_to_request_query(params) get_request(@client, endpoint) end
list_only_with_4473(params = {})
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 85 def list_only_with_4473(params = {}) endpoint = ENDPOINTS[:list_only_with_4473] % convert_params_to_request_query(params) get_request(@client, endpoint) end
remove_item(disposition_id, item_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 202 def remove_item(disposition_id, item_id) endpoint = ENDPOINTS[:remove_item] % [disposition_id, item_id] delete_request(@client, endpoint) end
remove_item_by_external_id(disposition_id, external_id)
click to toggle source
# File lib/fastbound-ruby/disposition.rb, line 208 def remove_item_by_external_id(disposition_id, external_id) endpoint = ENDPOINTS[:remove_item_by_external_id] % [disposition_id, external_id] delete_request(@client, endpoint) end