netsuite 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/README.md +5 -0
- data/lib/netsuite.rb +4 -0
- data/lib/netsuite/actions/login.rb +6 -2
- data/lib/netsuite/errors.rb +2 -0
- data/lib/netsuite/passports/token.rb +1 -1
- data/lib/netsuite/records/cash_refund.rb +3 -1
- data/lib/netsuite/records/contact.rb +2 -1
- data/lib/netsuite/records/contact_addressbook.rb +64 -0
- data/lib/netsuite/records/contact_addressbook_list.rb +11 -0
- data/lib/netsuite/records/employee.rb +1 -1
- data/lib/netsuite/records/inventory_adjustment.rb +1 -1
- data/lib/netsuite/records/inventory_adjustment_inventory.rb +1 -1
- data/lib/netsuite/records/inventory_item.rb +1 -1
- data/lib/netsuite/records/lot_numbered_assembly_item.rb +64 -0
- data/lib/netsuite/records/non_inventory_sale_item.rb +1 -0
- data/lib/netsuite/records/service_sale_item.rb +1 -0
- data/lib/netsuite/records/task.rb +2 -1
- data/lib/netsuite/records/transfer_order_item.rb +2 -2
- data/lib/netsuite/utilities.rb +3 -0
- data/lib/netsuite/version.rb +2 -2
- data/netsuite.gemspec +1 -1
- data/spec/netsuite/records/basic_record_spec.rb +2 -1
- data/spec/netsuite/records/invoice_spec.rb +2 -2
- data/spec/netsuite/records/return_authorization_item_list_spec.rb +2 -2
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 797165a82ff004915fd35446c562b168fef1d8a8
|
4
|
+
data.tar.gz: 361bb3b3119d401e475df8c89e32a4c943b4f3eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c91ea28fb5fe26b22bfb01fa5db2006cc18cfe7c2a6957cfe87d3b08b2a734ea091bbfccd2f430eb1ceb7cc8f95c809f67feb451c4ae7681c4f4de236e752fec
|
7
|
+
data.tar.gz: 5d70ad8c9b507230a4f2a7db2a114eb15ea92d46801d84d89de7b002adf1f65f75e4698f869ddb6a59b570a994896b15b42ce90088e78548850581a46e0670ec
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.0
|
data/README.md
CHANGED
@@ -70,6 +70,11 @@ NetSuite.configure do
|
|
70
70
|
password 'password'
|
71
71
|
account '12345'
|
72
72
|
role 1111
|
73
|
+
|
74
|
+
# optional, ensures that read-only fields don't cause API errors
|
75
|
+
soap_header 'platformMsgs:preferences' => {
|
76
|
+
'platformMsgs:ignoreReadOnlyFields' => true,
|
77
|
+
}
|
73
78
|
end
|
74
79
|
```
|
75
80
|
|
data/lib/netsuite.rb
CHANGED
@@ -80,6 +80,7 @@ module NetSuite
|
|
80
80
|
autoload :BillingScheduleMilestoneList, 'netsuite/records/billing_schedule_milestone_list'
|
81
81
|
autoload :BillingScheduleRecurrence, 'netsuite/records/billing_schedule_recurrence'
|
82
82
|
autoload :BillingScheduleRecurrenceList, 'netsuite/records/billing_schedule_recurrence_list'
|
83
|
+
autoload :Bin, 'netsuite/records/bin'
|
83
84
|
autoload :BinNumberList, 'netsuite/records/bin_number_list'
|
84
85
|
autoload :CashSale, 'netsuite/records/cash_sale'
|
85
86
|
autoload :CashSaleItem, 'netsuite/records/cash_sale_item'
|
@@ -123,6 +124,8 @@ module NetSuite
|
|
123
124
|
autoload :CustomerPartner, 'netsuite/records/customer_partner'
|
124
125
|
autoload :ContactList, 'netsuite/records/contact_list'
|
125
126
|
autoload :Contact, 'netsuite/records/contact'
|
127
|
+
autoload :ContactAddressbook, 'netsuite/records/contact_addressbook'
|
128
|
+
autoload :ContactAddressbookList, 'netsuite/records/contact_addressbook_list'
|
126
129
|
autoload :ContactRole, 'netsuite/records/contact_role'
|
127
130
|
autoload :ContactAccessRoles, 'netsuite/records/contact_access_roles'
|
128
131
|
autoload :ContactAccessRolesList, 'netsuite/records/contact_access_roles_list'
|
@@ -184,6 +187,7 @@ module NetSuite
|
|
184
187
|
autoload :KitItem, 'netsuite/records/kit_item'
|
185
188
|
autoload :Location, 'netsuite/records/location'
|
186
189
|
autoload :LocationsList, 'netsuite/records/locations_list'
|
190
|
+
autoload :LotNumberedAssemblyItem, 'netsuite/records/lot_numbered_assembly_item'
|
187
191
|
autoload :MatrixOptionList, 'netsuite/records/matrix_option_list'
|
188
192
|
autoload :MemberList, 'netsuite/records/member_list'
|
189
193
|
autoload :NonInventorySaleItem, 'netsuite/records/non_inventory_sale_item'
|
@@ -27,10 +27,14 @@ module NetSuite
|
|
27
27
|
# </platformCore:wsRoleList>
|
28
28
|
|
29
29
|
def self.call(credentials)
|
30
|
-
passport = NetSuite::Configuration.auth_header
|
30
|
+
passport = NetSuite::Configuration.auth_header.dup
|
31
|
+
passport['platformMsgs:passport']['platformCore:email'] = credentials[:email] || ''
|
32
|
+
passport['platformMsgs:passport']['platformCore:password'] = credentials[:password] || ''
|
33
|
+
passport['platformMsgs:passport']['platformCore:role'] = credentials[:role] || ''
|
34
|
+
passport['platformMsgs:passport']['platformCore:account'] = credentials[:account] if !credentials[:account].nil?
|
31
35
|
|
32
36
|
begin
|
33
|
-
response = NetSuite::Configuration.connection(soap_header: {}).call
|
37
|
+
response = NetSuite::Configuration.connection(soap_header: {}).call :login, message: passport
|
34
38
|
rescue Savon::SOAPFault => e
|
35
39
|
error_details = e.to_hash[:fault]
|
36
40
|
|
data/lib/netsuite/errors.rb
CHANGED
@@ -19,7 +19,7 @@ module NetSuite
|
|
19
19
|
'platformCore:token' => token_id,
|
20
20
|
'platformCore:nonce' => nonce,
|
21
21
|
'platformCore:timestamp' => timestamp,
|
22
|
-
'platformCore:signature' => signature
|
22
|
+
'platformCore:signature' => signature,
|
23
23
|
:attributes! => { 'platformCore:signature' => { 'algorithm' => 'HMAC-SHA256' } }
|
24
24
|
}
|
25
25
|
}
|
@@ -11,7 +11,6 @@ module NetSuite
|
|
11
11
|
|
12
12
|
fields :alt_handling_cost,
|
13
13
|
:alt_shipping_cost,
|
14
|
-
:billing_address,
|
15
14
|
:cc_approved,
|
16
15
|
:cc_expire_date,
|
17
16
|
:cc_is_purchase_card_bin,
|
@@ -78,6 +77,9 @@ module NetSuite
|
|
78
77
|
:vat_reg_num,
|
79
78
|
:vsoe_auto_calc
|
80
79
|
|
80
|
+
# NOTE only `Address` record in >= 2014_2
|
81
|
+
field :billing_address, Address
|
82
|
+
|
81
83
|
field :item_list, CashRefundItemList
|
82
84
|
field :custom_field_list, CustomFieldList
|
83
85
|
# partnersList CashRefundPartnersList
|
@@ -13,7 +13,7 @@ module NetSuite
|
|
13
13
|
:entity_id, :phonetic_name, :alt_email, :office_phone, :home_phone, :mobile_phone, :supervisor_phone,
|
14
14
|
:assistant_phone, :comments, :bill_pay, :is_private, :is_inactive
|
15
15
|
|
16
|
-
field :addressbook_list,
|
16
|
+
field :addressbook_list, ContactAddressbookList
|
17
17
|
field :custom_field_list, CustomFieldList
|
18
18
|
# field :subscriptions_list, SubscriptionsList
|
19
19
|
# field :category_list, CategoryList
|
@@ -24,6 +24,7 @@ module NetSuite
|
|
24
24
|
|
25
25
|
attr_reader :internal_id
|
26
26
|
attr_accessor :external_id
|
27
|
+
attr_accessor :search_joins
|
27
28
|
|
28
29
|
def initialize(attributes = {})
|
29
30
|
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class ContactAddressbook
|
4
|
+
include Support::Fields
|
5
|
+
include Support::Records
|
6
|
+
include Namespaces::ListRel
|
7
|
+
|
8
|
+
# address implementation changed
|
9
|
+
# https://github.com/NetSweet/netsuite/pull/213
|
10
|
+
|
11
|
+
# https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2015_1/schema/other/customeraddressbook.html?mode=package
|
12
|
+
|
13
|
+
fields :default_shipping, :default_billing, :is_residential, :label, :internal_id
|
14
|
+
|
15
|
+
# NOTE API < 2014_2
|
16
|
+
fields :attention, :addressee, :phone, :addr1, :addr2, :addr3, :city, :zip, :override, :state
|
17
|
+
field :country, NetSuite::Support::Country
|
18
|
+
read_only_fields :addr_text
|
19
|
+
|
20
|
+
# NOTE API >= 2014_2
|
21
|
+
field :addressbook_address, NetSuite::Records::Address
|
22
|
+
|
23
|
+
def initialize(attributes_or_record = {})
|
24
|
+
case attributes_or_record
|
25
|
+
when self.class
|
26
|
+
initialize_from_record(attributes_or_record)
|
27
|
+
when Hash
|
28
|
+
attributes_or_record = attributes_or_record[:addressbook] if attributes_or_record[:addressbook]
|
29
|
+
initialize_from_attributes_hash(attributes_or_record)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def initialize_from_record(obj)
|
34
|
+
if NetSuite::Configuration.api_version < "2014_2"
|
35
|
+
self.default_shipping = obj.default_shipping
|
36
|
+
self.default_billing = obj.default_billing
|
37
|
+
self.is_residential = obj.is_residential
|
38
|
+
self.label = obj.label
|
39
|
+
self.attention = obj.attention
|
40
|
+
self.addressee = obj.addressee
|
41
|
+
self.phone = obj.phone
|
42
|
+
self.addr1 = obj.addr1
|
43
|
+
self.addr2 = obj.addr2
|
44
|
+
self.addr3 = obj.addr3
|
45
|
+
self.city = obj.city
|
46
|
+
self.zip = obj.zip
|
47
|
+
self.country = obj.country
|
48
|
+
self.addr_text = obj.addr_text
|
49
|
+
self.override = obj.override
|
50
|
+
self.state = obj.state
|
51
|
+
self.internal_id = obj.internal_id
|
52
|
+
else
|
53
|
+
self.addressbook_address = obj.addressbook_address
|
54
|
+
self.default_billing = obj.default_billing
|
55
|
+
self.default_shipping = obj.default_shipping
|
56
|
+
self.internal_id = obj.internal_id
|
57
|
+
self.is_residential = obj.is_residential
|
58
|
+
self.label = obj.label
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -11,7 +11,7 @@ module NetSuite
|
|
11
11
|
|
12
12
|
actions :get, :get_list, :add, :update, :upsert, :upsert_list, :delete, :search
|
13
13
|
|
14
|
-
fields :phone, :first_name, :last_name, :is_inactive, :email, :give_access, :send_email, :is_support_rep,
|
14
|
+
fields :alt_name, :phone, :first_name, :last_name, :is_inactive, :email, :give_access, :send_email, :is_support_rep,
|
15
15
|
:birth_date, :hire_date, :last_review_date, :next_review_date, :title, :home_phone, :office_phone,
|
16
16
|
:eligible_for_commission, :is_sales_rep, :klass, :middle_name, :account_number, :alien_number, :approval_limit,
|
17
17
|
:bill_pay, :comments, :date_created, :direct_deposit, :entity_id, :password, :password2,
|
@@ -15,7 +15,7 @@ module NetSuite
|
|
15
15
|
field :custom_field_list, CustomFieldList
|
16
16
|
|
17
17
|
record_refs :account, :adj_location, :customer, :posting_period, :location, :department,
|
18
|
-
:subsidiary, :custom_form
|
18
|
+
:subsidiary, :custom_form, :klass
|
19
19
|
|
20
20
|
attr_reader :internal_id
|
21
21
|
attr_accessor :external_id
|
@@ -65,7 +65,7 @@ module NetSuite
|
|
65
65
|
field :member_list, MemberList
|
66
66
|
|
67
67
|
attr_reader :internal_id
|
68
|
-
attr_accessor :external_id
|
68
|
+
attr_accessor :external_id, :search_joins
|
69
69
|
|
70
70
|
def initialize(attributes = {})
|
71
71
|
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Records
|
3
|
+
class LotNumberedAssemblyItem
|
4
|
+
include Support::Fields
|
5
|
+
include Support::RecordRefs
|
6
|
+
include Support::Records
|
7
|
+
include Support::Actions
|
8
|
+
include Namespaces::ListAcct
|
9
|
+
|
10
|
+
actions :get, :get_list, :get_select_value, :add, :delete, :update, :upsert, :upsert_list, :search
|
11
|
+
|
12
|
+
fields :auto_lead_time, :auto_preferred_stock_level, :auto_reorder_point, :available_to_partners, :average_cost, :build_entire_assembly,
|
13
|
+
:copy_description, :cost, :cost_estimate, :cost_estimate_type, :cost_estimate_units, :cost_units, :costing_method,
|
14
|
+
:costing_method_display, :country_of_manufacture, :created_date, :currency, :date_converted_to_inv, :description,
|
15
|
+
:default_return_cost, :demand_modifier, :display_name, :dont_show_price, :enforce_min_qty_internally,
|
16
|
+
:exclude_from_sitemap, :expiration_date, :featured_description, :fixed_lot_size, :handling_cost, :handling_cost_units, :include_children,
|
17
|
+
:is_donation_item, :is_drop_ship_item, :is_gco_compliant, :is_inactive, :is_online, :is_special_order_item, :is_special_work_order_item, :is_taxable,
|
18
|
+
:item_id, :last_modified_date, :last_purchase_price, :lead_time, :manufacturer, :manufacturer_addr1, :manufacturer_city,
|
19
|
+
:manufacturer_state, :manufacturer_tariff, :manufacturer_tax_id, :manufacturer_zip, :match_bill_to_receipt,
|
20
|
+
:matrix_type, :max_donation_amount, :meta_tag_html, :minimum_quantity, :minimum_quantity_units, :mpn,
|
21
|
+
:mult_manufacture_addr, :nex_tag_category, :no_price_message, :offer_support, :on_hand_value_mli, :on_special,
|
22
|
+
:original_item_subtype, :original_item_type, :out_of_stock_behavior, :out_of_stock_message,
|
23
|
+
:overall_quantity_pricing_type, :page_title, :preference_criterion, :preferred_stock_level, :preferred_stock_level_days,
|
24
|
+
:preferred_stock_level_units, :prices_include_tax, :producer, :purchase_description, :quantity_available,
|
25
|
+
:quantity_available_units, :quantity_back_ordered, :quantity_committed, :quantity_committed_units, :quantity_on_hand,
|
26
|
+
:quantity_on_hand_units, :quantity_on_order, :quantity_on_order_units, :quantity_reorder_units, :rate,
|
27
|
+
:related_items_description, :reorder_multiple, :reorder_point, :reorder_point_units, :safety_stock_level,
|
28
|
+
:safety_stock_level_days, :safety_stock_level_units, :sales_description, :schedule_b_code, :schedule_b_number,
|
29
|
+
:schedule_b_quantity, :search_keywords, :seasonal_demand, :ship_individually, :shipping_cost, :shipping_cost_units,
|
30
|
+
:shopping_dot_com_category, :shopzilla_category_id, :show_default_donation_amount, :sitemap_priority,
|
31
|
+
:specials_description, :stock_description, :store_description, :store_detailed_description, :store_display_name,
|
32
|
+
:total_value, :track_landed_cost, :transfer_price, :upc_code, :url_component, :use_bins, :use_marginal_rates,
|
33
|
+
:vendor_name, :vsoe_deferral, :vsoe_delivered, :vsoe_permit_discount, :vsoe_price, :weight, :weight_unit, :weight_units
|
34
|
+
|
35
|
+
record_refs :alternate_demand_source_item, :asset_account, :bill_exch_rate_variance_acct, :bill_price_variance_acct,
|
36
|
+
:bill_qty_variance_acct, :billing_schedule, :cogs_account, :cost_category, :custom_form, :deferred_revenue_account,
|
37
|
+
:demand_source, :department, :expense_account, :gain_loss_account, :income_account, :issue_product, :klass, :location,
|
38
|
+
:parent, :preferred_location, :pricing_group, :purchase_price_variance_acct, :purchase_tax_code, :purchase_unit,
|
39
|
+
:quantity_pricing_schedule, :rev_rec_schedule, :sale_unit, :sales_tax_code, :ship_package, :soft_descriptor,
|
40
|
+
:stock_unit, :store_display_image, :store_display_thumbnail, :store_item_template, :supply_lot_sizing_method,
|
41
|
+
:supply_replenishment_method, :supply_type, :tax_schedule, :units_type, :vendor
|
42
|
+
|
43
|
+
field :custom_field_list, CustomFieldList
|
44
|
+
field :bin_number_list, BinNumberList
|
45
|
+
field :item_vendor_list, ItemVendorList
|
46
|
+
field :pricing_matrix, PricingMatrix
|
47
|
+
field :member_list, MemberList
|
48
|
+
field :subsidiary_list, RecordRefList
|
49
|
+
|
50
|
+
attr_reader :internal_id
|
51
|
+
attr_accessor :external_id
|
52
|
+
|
53
|
+
def initialize(attributes = {})
|
54
|
+
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
|
55
|
+
@external_id = attributes.delete(:external_id) || attributes.delete(:@external_id)
|
56
|
+
initialize_from_attributes_hash(attributes)
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.search_class_name
|
60
|
+
"Item"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -11,9 +11,10 @@ module NetSuite
|
|
11
11
|
|
12
12
|
fields :title, :send_email, :message, :status, :access_level, :reminder_type,
|
13
13
|
:reminder_minutes, :start_date, :end_date, :due_date, :timed_event,
|
14
|
-
:created_date, :last_modified_date
|
14
|
+
:created_date, :last_modified_date, :priority
|
15
15
|
|
16
16
|
field :contact_list, ContactList
|
17
|
+
field :custom_field_list, CustomFieldList
|
17
18
|
|
18
19
|
record_refs :assigned, :owner, :company, :contact, :transaction
|
19
20
|
|
@@ -7,7 +7,7 @@ module NetSuite
|
|
7
7
|
include Namespaces::TranInvt
|
8
8
|
|
9
9
|
fields :amount, :average_cost, :klass, :commit_inventory, :description,
|
10
|
-
:expected_receipt_date, :expected_ship_date, :is_closed, :last_purchase_price,
|
10
|
+
:expected_receipt_date, :expected_ship_date, :inventory_detail, :is_closed, :last_purchase_price,
|
11
11
|
:line, :options, :order_priority, :quantity, :quantity_available,
|
12
12
|
:quantity_back_ordered, :quantity_committed, :quantity_fulfilled,
|
13
13
|
:quantity_on_hand, :quantity_packed, :quantity_picked, :quantity_received,
|
@@ -16,7 +16,7 @@ module NetSuite
|
|
16
16
|
field :options, CustomFieldList
|
17
17
|
field :custom_field_list, CustomFieldList
|
18
18
|
|
19
|
-
record_refs :department, :
|
19
|
+
record_refs :department, :item, :units
|
20
20
|
|
21
21
|
def initialize(attributes_or_record = {})
|
22
22
|
case attributes_or_record
|
data/lib/netsuite/utilities.rb
CHANGED
@@ -58,6 +58,7 @@ module NetSuite
|
|
58
58
|
Zlib::BufError,
|
59
59
|
Savon::HTTPError,
|
60
60
|
SocketError,
|
61
|
+
Net::OpenTimeout
|
61
62
|
]
|
62
63
|
|
63
64
|
# available in ruby > 1.9
|
@@ -84,6 +85,7 @@ module NetSuite
|
|
84
85
|
!e.message.include?('java.util.ConcurrentModificationException') &&
|
85
86
|
!e.message.include?('com.netledger.common.exceptions.NLDatabaseOfflineException') &&
|
86
87
|
!e.message.include?('com.netledger.database.NLConnectionUtil$NoCompanyDbsOnlineException') &&
|
88
|
+
!e.message.include?('com.netledger.cache.CacheUnavailableException') &&
|
87
89
|
!e.message.include?('An unexpected error occurred.') &&
|
88
90
|
!e.message.include?('Session invalidation is in progress with different thread') &&
|
89
91
|
!e.message.include?('SuiteTalk concurrent request limit exceeded. Request blocked.') &&
|
@@ -130,6 +132,7 @@ module NetSuite
|
|
130
132
|
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::GiftCertificateItem, ns_item_internal_id, opts)
|
131
133
|
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::KitItem, ns_item_internal_id, opts)
|
132
134
|
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::SerializedInventoryItem, ns_item_internal_id, opts)
|
135
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::LotNumberedAssemblyItem, ns_item_internal_id, opts)
|
133
136
|
|
134
137
|
if ns_item.nil?
|
135
138
|
fail NetSuite::RecordNotFound, "item with ID #{ns_item_internal_id} not found"
|
data/lib/netsuite/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module
|
2
|
-
VERSION = '0.8.
|
1
|
+
module NetSuite
|
2
|
+
VERSION = '0.8.2'
|
3
3
|
end
|
data/netsuite.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
14
|
gem.name = 'netsuite'
|
15
15
|
gem.require_paths = ['lib']
|
16
|
-
gem.version =
|
16
|
+
gem.version = NetSuite::VERSION
|
17
17
|
|
18
18
|
gem.add_dependency 'savon', '>= 2.3.0'
|
19
19
|
|
@@ -52,7 +52,8 @@ describe 'basic records' do
|
|
52
52
|
NetSuite::Records::AssemblyBuild,
|
53
53
|
NetSuite::Records::AssemblyUnbuild,
|
54
54
|
NetSuite::Records::AssemblyComponent,
|
55
|
-
NetSuite::Records::InventoryNumber
|
55
|
+
NetSuite::Records::InventoryNumber,
|
56
|
+
NetSuite::Records::LotNumberedAssemblyItem
|
56
57
|
]
|
57
58
|
}
|
58
59
|
|
@@ -9,7 +9,7 @@ describe NetSuite::Records::Invoice do
|
|
9
9
|
[
|
10
10
|
:balance, :bill_address,
|
11
11
|
:billing_schedule, :contrib_pct, :created_date, :currency_name,
|
12
|
-
:deferred_revenue, :discount_amount, :discount_date, :
|
12
|
+
:deferred_revenue, :discount_amount, :discount_date, :discount_rate,
|
13
13
|
:due_date, :email, :end_date, :est_gross_profit, :est_gross_profit_percent, :exchange_rate,
|
14
14
|
:exclude_commission, :exp_cost_disc_amount, :exp_cost_disc_print, :exp_cost_disc_rate, :exp_cost_disc_tax_1_amt,
|
15
15
|
:exp_cost_disc_taxable, :exp_cost_discount, :exp_cost_list, :exp_cost_tax_code, :exp_cost_tax_rate_1,
|
@@ -44,7 +44,7 @@ describe NetSuite::Records::Invoice do
|
|
44
44
|
it 'has the right record_refs' do
|
45
45
|
[
|
46
46
|
:account, :bill_address_list, :job, :custom_form, :department, :entity, :klass, :posting_period, :ship_address_list, :terms,
|
47
|
-
:created_from, :location, :sales_rep, :ship_method, :tax_item, :partner, :lead_source, :promo_code, :subsidiary
|
47
|
+
:created_from, :location, :sales_rep, :ship_method, :tax_item, :partner, :lead_source, :promo_code, :subsidiary, :discount_item
|
48
48
|
].each do |record_ref|
|
49
49
|
expect(invoice).to have_record_ref(record_ref)
|
50
50
|
end
|
@@ -16,8 +16,8 @@ describe NetSuite::Records::ReturnAuthorizationItemList do
|
|
16
16
|
|
17
17
|
it 'can represent itself as a SOAP record' do
|
18
18
|
record = {
|
19
|
-
'
|
20
|
-
'
|
19
|
+
'tranCust:item' => [{
|
20
|
+
'tranCust:rate' => 10
|
21
21
|
}]
|
22
22
|
}
|
23
23
|
expect(list.to_record).to eql(record)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netsuite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Moran
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: savon
|
@@ -122,6 +122,8 @@ files:
|
|
122
122
|
- lib/netsuite/records/contact.rb
|
123
123
|
- lib/netsuite/records/contact_access_roles.rb
|
124
124
|
- lib/netsuite/records/contact_access_roles_list.rb
|
125
|
+
- lib/netsuite/records/contact_addressbook.rb
|
126
|
+
- lib/netsuite/records/contact_addressbook_list.rb
|
125
127
|
- lib/netsuite/records/contact_list.rb
|
126
128
|
- lib/netsuite/records/contact_role.rb
|
127
129
|
- lib/netsuite/records/credit_memo.rb
|
@@ -214,6 +216,7 @@ files:
|
|
214
216
|
- lib/netsuite/records/kit_item.rb
|
215
217
|
- lib/netsuite/records/location.rb
|
216
218
|
- lib/netsuite/records/locations_list.rb
|
219
|
+
- lib/netsuite/records/lot_numbered_assembly_item.rb
|
217
220
|
- lib/netsuite/records/matrix_option_list.rb
|
218
221
|
- lib/netsuite/records/member_list.rb
|
219
222
|
- lib/netsuite/records/non_inventory_purchase_item.rb
|
@@ -501,7 +504,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
501
504
|
version: '0'
|
502
505
|
requirements: []
|
503
506
|
rubyforge_project:
|
504
|
-
rubygems_version: 2.
|
507
|
+
rubygems_version: 2.5.1
|
505
508
|
signing_key:
|
506
509
|
specification_version: 4
|
507
510
|
summary: NetSuite SuiteTalk API (SOAP) Wrapper
|