Skip to content

Commit

Permalink
Move definition of search_joins attribute from records to search ac…
Browse files Browse the repository at this point in the history
…tion

Previously it was up to each record to define this attribute, if it
offered the search action. This created scenarios where a record like [`Bin`](https://github.com/NetSweet/netsuite/blob/9f1000535d62045e1fcb6220192840c943eaba57/lib/netsuite/records/bin.rb)
offered the `search` action, but didn't define the `search_joins`
attribute and therefore searching bins would error:

```
undefined method `search_joins=' for #<NetSuite::Records::Bin:0x00007f8f32948bf8 @internal_id="1044", @external_id=nil, @attributes={:bin_number=>"WIP-Fabric"}> (NoMethodError)
```

Due to `SearchResult` assuming the record had such an attribute:
https://github.com/NetSweet/netsuite/blob/9f1000535d62045e1fcb6220192840c943eaba57/lib/netsuite/support/search_result.rb#L112

Now adding the `search` action to a record automatically adds the
necessary `search_joins` attribute.

The attribute was previously defined on `AssemblyComponent`,
`SerializedInventoryItemLocation`, and `WorkOrderItem`, however none of
those support actions at all, let alone the `search` action. They're all
records for sublist items. I suspect the attribute was erroneously
introduced in the first place as a result of copy/pasting to create the
record.
  • Loading branch information
cgunther committed Jan 20, 2022
1 parent 9f10005 commit 57af62a
Show file tree
Hide file tree
Showing 42 changed files with 6 additions and 42 deletions.
2 changes: 1 addition & 1 deletion HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

### Fixed
* Fix "undefined method `[]` for #<Nori::StringIOFile>" when adding File (#495)
*
* Moved definition of `search_joins` attribute from records to search action. The attribute was removed for AssemblyComponent, SerializedInventoryItemLocation, and WorkOrderItem as they don't offer the search action.

## 0.8.10

Expand Down
2 changes: 2 additions & 0 deletions lib/netsuite/actions/search.rb
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,8 @@ def success?
module Support
def self.included(base)
base.extend(ClassMethods)

attr_accessor :search_joins
end

module ClassMethods
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/account.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class Account

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
2 changes: 1 addition & 1 deletion lib/netsuite/records/accounting_period.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class AccountingPeriod
record_refs :parent

attr_reader :internal_id
attr_accessor :external_id, :search_joins
attr_accessor :external_id

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
2 changes: 0 additions & 2 deletions lib/netsuite/records/assembly_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ class AssemblyComponent

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand All @@ -25,4 +24,3 @@ def initialize(attributes = {})
end
end
end

1 change: 0 additions & 1 deletion lib/netsuite/records/assembly_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ class AssemblyItem

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/assembly_unbuild.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class AssemblyUnbuild

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/cash_refund.rb
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ class CashRefund

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/cash_sale.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ class CashSale

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/contact.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class Contact

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/credit_memo.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ class CreditMemo

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/currency_rate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class CurrencyRate

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/custom_record.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ class CustomRecord

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/customer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ class Customer

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/customer_deposit.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ class CustomerDeposit

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/customer_payment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ class CustomerPayment

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/customer_refund.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class CustomerRefund

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/deposit.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class Deposit

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/deposit_application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class DepositApplication

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/estimate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ class Estimate

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/inbound_shipment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class InboundShipment

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
2 changes: 1 addition & 1 deletion lib/netsuite/records/inventory_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ class InventoryItem
# TODO: :translations_list, TranslationList

attr_reader :internal_id
attr_accessor :external_id, :search_joins
attr_accessor :external_id

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/inventory_number.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ class InventoryNumber

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/invoice.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ class Invoice

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/item_fulfillment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ class ItemFulfillment

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/item_receipt.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class ItemReceipt

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ class Job

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/location.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ class Location

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
2 changes: 1 addition & 1 deletion lib/netsuite/records/lot_numbered_inventory_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ class LotNumberedInventoryItem
:weight_units

attr_reader :internal_id
attr_accessor :external_id, :search_joins
attr_accessor :external_id

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/non_inventory_sale_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,6 @@ class NonInventorySaleItem

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/opportunity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ class Opportunity

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/payroll_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ class PayrollItem

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/purchase_order.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ class PurchaseOrder

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/sales_order.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ class SalesOrder

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/serialized_inventory_item_location.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class SerializedInventoryItemLocation

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/service_sale_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class ServiceSaleItem

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/subsidiary.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ class Subsidiary

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/transfer_order.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class TransferOrder

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/vendor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ class Vendor

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/vendor_bill.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ class VendorBill

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/work_order.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class WorkOrder

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down
1 change: 0 additions & 1 deletion lib/netsuite/records/work_order_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ class WorkOrderItem

attr_reader :internal_id
attr_accessor :external_id
attr_accessor :search_joins

def initialize(attributes = {})
@internal_id = attributes.delete(:internal_id) || attributes.delete(:@internal_id)
Expand Down

0 comments on commit 57af62a

Please sign in to comment.