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 (#511)

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 21, 2022
1 parent 9f10005 commit 60a8d6b
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. (#511)

## 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 60a8d6b

Please sign in to comment.