Class: Merge::Accounting::ItemRequestRequest
- Inherits:
-
Object
- Object
- Merge::Accounting::ItemRequestRequest
- Defined in:
- lib/merge_ruby_client/accounting/types/item_request_request.rb
Overview
# The Item Object
### Description
The `Item` object refers to the goods involved in a transaction.
### Usage Example
Fetch from the `LIST Items` endpoint and view a company's items.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#company ⇒ Merge::Accounting::ItemRequestRequestCompany
readonly
The company the item belongs to.
- #integration_params ⇒ Hash{String => Object} readonly
- #linked_account_params ⇒ Hash{String => Object} readonly
-
#name ⇒ String
readonly
The item’s name.
-
#purchase_account ⇒ Merge::Accounting::ItemRequestRequestPurchaseAccount
readonly
References the default account used to record a purchase of the item.
-
#purchase_price ⇒ Float
readonly
The price at which the item is purchased from a vendor.
-
#purchase_tax_rate ⇒ Merge::Accounting::ItemRequestRequestPurchaseTaxRate
readonly
The default purchase tax rate for this item.
-
#sales_account ⇒ Merge::Accounting::ItemRequestRequestSalesAccount
readonly
References the default account used to record a sale.
-
#sales_tax_rate ⇒ Merge::Accounting::ItemRequestRequestSalesTaxRate
readonly
The default sales tax rate for this item.
-
#status ⇒ Merge::Accounting::Status7D1Enum
readonly
The item’s status.
-
#type ⇒ Merge::Accounting::Type2BbEnum
readonly
The item’s type.
-
#unit_price ⇒ Float
readonly
The item’s unit price.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Merge::Accounting::ItemRequestRequest
Deserialize a JSON object to an instance of ItemRequestRequest.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
Instance Method Summary collapse
- #initialize(name: OMIT, status: OMIT, type: OMIT, unit_price: OMIT, purchase_price: OMIT, purchase_account: OMIT, sales_account: OMIT, company: OMIT, purchase_tax_rate: OMIT, sales_tax_rate: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Accounting::ItemRequestRequest constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of ItemRequestRequest to a JSON object.
Constructor Details
#initialize(name: OMIT, status: OMIT, type: OMIT, unit_price: OMIT, purchase_price: OMIT, purchase_account: OMIT, sales_account: OMIT, company: OMIT, purchase_tax_rate: OMIT, sales_tax_rate: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Accounting::ItemRequestRequest
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 79 def initialize(name: OMIT, status: OMIT, type: OMIT, unit_price: OMIT, purchase_price: OMIT, purchase_account: OMIT, sales_account: OMIT, company: OMIT, purchase_tax_rate: OMIT, sales_tax_rate: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) @name = name if name != OMIT @status = status if status != OMIT @type = type if type != OMIT @unit_price = unit_price if unit_price != OMIT @purchase_price = purchase_price if purchase_price != OMIT @purchase_account = purchase_account if purchase_account != OMIT @sales_account = sales_account if sales_account != OMIT @company = company if company != OMIT @purchase_tax_rate = purchase_tax_rate if purchase_tax_rate != OMIT @sales_tax_rate = sales_tax_rate if sales_tax_rate != OMIT @integration_params = integration_params if integration_params != OMIT @linked_account_params = linked_account_params if linked_account_params != OMIT @additional_properties = additional_properties @_field_set = { "name": name, "status": status, "type": type, "unit_price": unit_price, "purchase_price": purchase_price, "purchase_account": purchase_account, "sales_account": sales_account, "company": company, "purchase_tax_rate": purchase_tax_rate, "sales_tax_rate": sales_tax_rate, "integration_params": integration_params, "linked_account_params": linked_account_params }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
52 53 54 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 52 def additional_properties @additional_properties end |
#company ⇒ Merge::Accounting::ItemRequestRequestCompany (readonly)
Returns The company the item belongs to.
42 43 44 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 42 def company @company end |
#integration_params ⇒ Hash{String => Object} (readonly)
48 49 50 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 48 def integration_params @integration_params end |
#linked_account_params ⇒ Hash{String => Object} (readonly)
50 51 52 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 50 def linked_account_params @linked_account_params end |
#name ⇒ String (readonly)
Returns The item’s name.
22 23 24 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 22 def name @name end |
#purchase_account ⇒ Merge::Accounting::ItemRequestRequestPurchaseAccount (readonly)
Returns References the default account used to record a purchase of the item.
38 39 40 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 38 def purchase_account @purchase_account end |
#purchase_price ⇒ Float (readonly)
Returns The price at which the item is purchased from a vendor.
36 37 38 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 36 def purchase_price @purchase_price end |
#purchase_tax_rate ⇒ Merge::Accounting::ItemRequestRequestPurchaseTaxRate (readonly)
Returns The default purchase tax rate for this item.
44 45 46 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 44 def purchase_tax_rate @purchase_tax_rate end |
#sales_account ⇒ Merge::Accounting::ItemRequestRequestSalesAccount (readonly)
Returns References the default account used to record a sale.
40 41 42 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 40 def sales_account @sales_account end |
#sales_tax_rate ⇒ Merge::Accounting::ItemRequestRequestSalesTaxRate (readonly)
Returns The default sales tax rate for this item.
46 47 48 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 46 def sales_tax_rate @sales_tax_rate end |
#status ⇒ Merge::Accounting::Status7D1Enum (readonly)
Returns The item’s status.
-
‘ACTIVE` - ACTIVE
-
‘ARCHIVED` - ARCHIVED.
26 27 28 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 26 def status @status end |
#type ⇒ Merge::Accounting::Type2BbEnum (readonly)
Returns The item’s type.
-
‘INVENTORY` - INVENTORY
-
‘NON_INVENTORY` - NON_INVENTORY
-
‘SERVICE` - SERVICE
-
‘UNKNOWN` - UNKNOWN.
32 33 34 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 32 def type @type end |
#unit_price ⇒ Float (readonly)
Returns The item’s unit price.
34 35 36 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 34 def unit_price @unit_price end |
Class Method Details
.from_json(json_object:) ⇒ Merge::Accounting::ItemRequestRequest
Deserialize a JSON object to an instance of ItemRequestRequest
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 116 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) name = parsed_json["name"] status = parsed_json["status"] type = parsed_json["type"] unit_price = parsed_json["unit_price"] purchase_price = parsed_json["purchase_price"] if parsed_json["purchase_account"].nil? purchase_account = nil else purchase_account = parsed_json["purchase_account"].to_json purchase_account = Merge::Accounting::ItemRequestRequestPurchaseAccount.from_json(json_object: purchase_account) end if parsed_json["sales_account"].nil? sales_account = nil else sales_account = parsed_json["sales_account"].to_json sales_account = Merge::Accounting::ItemRequestRequestSalesAccount.from_json(json_object: sales_account) end if parsed_json["company"].nil? company = nil else company = parsed_json["company"].to_json company = Merge::Accounting::ItemRequestRequestCompany.from_json(json_object: company) end if parsed_json["purchase_tax_rate"].nil? purchase_tax_rate = nil else purchase_tax_rate = parsed_json["purchase_tax_rate"].to_json purchase_tax_rate = Merge::Accounting::ItemRequestRequestPurchaseTaxRate.from_json(json_object: purchase_tax_rate) end if parsed_json["sales_tax_rate"].nil? sales_tax_rate = nil else sales_tax_rate = parsed_json["sales_tax_rate"].to_json sales_tax_rate = Merge::Accounting::ItemRequestRequestSalesTaxRate.from_json(json_object: sales_tax_rate) end integration_params = parsed_json["integration_params"] linked_account_params = parsed_json["linked_account_params"] new( name: name, status: status, type: type, unit_price: unit_price, purchase_price: purchase_price, purchase_account: purchase_account, sales_account: sales_account, company: company, purchase_tax_rate: purchase_tax_rate, sales_tax_rate: sales_tax_rate, integration_params: integration_params, linked_account_params: linked_account_params, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given
hash and check each fields type against the current object's property
definitions.
186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 186 def self.validate_raw(obj:) obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") obj.status&.is_a?(Merge::Accounting::Status7D1Enum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.") obj.type&.is_a?(Merge::Accounting::Type2BbEnum) != false || raise("Passed value for field obj.type is not the expected type, validation failed.") obj.unit_price&.is_a?(Float) != false || raise("Passed value for field obj.unit_price is not the expected type, validation failed.") obj.purchase_price&.is_a?(Float) != false || raise("Passed value for field obj.purchase_price is not the expected type, validation failed.") obj.purchase_account.nil? || Merge::Accounting::ItemRequestRequestPurchaseAccount.validate_raw(obj: obj.purchase_account) obj.sales_account.nil? || Merge::Accounting::ItemRequestRequestSalesAccount.validate_raw(obj: obj.sales_account) obj.company.nil? || Merge::Accounting::ItemRequestRequestCompany.validate_raw(obj: obj.company) obj.purchase_tax_rate.nil? || Merge::Accounting::ItemRequestRequestPurchaseTaxRate.validate_raw(obj: obj.purchase_tax_rate) obj.sales_tax_rate.nil? || Merge::Accounting::ItemRequestRequestSalesTaxRate.validate_raw(obj: obj.sales_tax_rate) obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.") obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of ItemRequestRequest to a JSON object
176 177 178 |
# File 'lib/merge_ruby_client/accounting/types/item_request_request.rb', line 176 def to_json(*_args) @_field_set&.to_json end |