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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4bb44590fe53e0928b8a73374fe80b794ed3395
4
- data.tar.gz: c868924983bf5cdef3b8c831d577cef5f6d73ced
3
+ metadata.gz: 797165a82ff004915fd35446c562b168fef1d8a8
4
+ data.tar.gz: 361bb3b3119d401e475df8c89e32a4c943b4f3eb
5
5
  SHA512:
6
- metadata.gz: 1808362014a5493c6a5ef4fd513ce3e1041c1f6afcde57323f46be0daf2d7b8f1e22675637a4c08e7c2ac601a287914e2330251e8f8a66ac636859ca5917e95e
7
- data.tar.gz: bcf26630f116004671779737e434c6e46d5c33bfb2d283b189e46cc88d620fad567d9b97783e0b65c0f7b7c20d6b5cf9860537a27f9cc3dba4208fa3a44274de
6
+ metadata.gz: c91ea28fb5fe26b22bfb01fa5db2006cc18cfe7c2a6957cfe87d3b08b2a734ea091bbfccd2f430eb1ceb7cc8f95c809f67feb451c4ae7681c4f4de236e752fec
7
+ data.tar.gz: 5d70ad8c9b507230a4f2a7db2a114eb15ea92d46801d84d89de7b002adf1f65f75e4698f869ddb6a59b570a994896b15b42ce90088e78548850581a46e0670ec
@@ -1 +1 @@
1
- 2.4.0
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
 
@@ -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(credentials).dup
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(:login, message: passport)
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
 
@@ -11,5 +11,7 @@ module NetSuite
11
11
  @code = args[:code]
12
12
  @message = args[:message]
13
13
  end
14
+
15
+ alias_method :to_s, :inspect
14
16
  end
15
17
  end
@@ -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.strip,
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, CustomerAddressbookList
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
@@ -0,0 +1,11 @@
1
+ module NetSuite
2
+ module Records
3
+ class ContactAddressbookList < Support::Sublist
4
+ include Namespaces::ListRel
5
+
6
+ sublist :addressbook, ContactAddressbook
7
+
8
+ alias :addressbooks :addressbook
9
+ end
10
+ end
11
+ 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
@@ -11,7 +11,7 @@ module NetSuite
11
11
 
12
12
  field :inventory_detail, InventoryDetail
13
13
 
14
- record_refs :item, :units, :location
14
+ record_refs :item, :units, :location, :department, :klass
15
15
 
16
16
  def initialize(attributes = {})
17
17
  initialize_from_attributes_hash(attributes)
@@ -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
@@ -37,6 +37,7 @@ module NetSuite
37
37
 
38
38
  attr_reader :internal_id
39
39
  attr_accessor :external_id
40
+ attr_accessor :search_joins
40
41
 
41
42
  def initialize(attributes = {})
42
43
  @internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
@@ -34,6 +34,7 @@ module NetSuite
34
34
 
35
35
  attr_reader :internal_id
36
36
  attr_accessor :external_id
37
+ attr_accessor :search_joins
37
38
 
38
39
  def initialize(attributes = {})
39
40
  @internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
@@ -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, :inventory_detail, :item, :units
19
+ record_refs :department, :item, :units
20
20
 
21
21
  def initialize(attributes_or_record = {})
22
22
  case attributes_or_record
@@ -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"
@@ -1,3 +1,3 @@
1
- module Netsuite
2
- VERSION = '0.8.1'
1
+ module NetSuite
2
+ VERSION = '0.8.2'
3
3
  end
@@ -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 = Netsuite::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, :discount_item, :discount_rate,
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
- 'tranSales:item' => [{
20
- 'tranSales:rate' => 10
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.1
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-06-14 00:00:00.000000000 Z
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.6.8
507
+ rubygems_version: 2.5.1
505
508
  signing_key:
506
509
  specification_version: 4
507
510
  summary: NetSuite SuiteTalk API (SOAP) Wrapper