Class: ChartMogul::LineItem
- Inherits:
-
APIResource
- Object
- Object
- APIResource
- ChartMogul::LineItem
- Includes:
- API::Actions::Destroy, API::Actions::Retrieve, API::Actions::Update, Concerns::ExternalIdOperations, Concerns::ToggleDisabled
- Defined in:
- lib/chartmogul/line_item.rb
Overview
Standalone LineItem resource for CRUD operations on existing line items. Note: For creating line items on invoices, use LineItems::Subscription or LineItems::OneTime.
Constant Summary
Constants inherited from APIResource
APIResource::BACKOFF_FACTOR, APIResource::INTERVAL, APIResource::INTERVAL_RANDOMNESS, APIResource::MAX_INTERVAL, APIResource::RETRY_EXCEPTIONS, APIResource::RETRY_STATUSES, APIResource::THREAD_CONNECTION_KEY
Class Method Summary collapse
-
.create!(invoice_uuid:, handle_as_user_edit: nil, **attributes) ⇒ Object
Create a line item for an invoice.
Methods included from Concerns::ExternalIdOperations
Methods included from Concerns::ToggleDisabled
Methods included from API::Actions::Destroy
Methods included from API::Actions::Update
Methods included from API::Actions::Retrieve
Methods inherited from APIResource
build_connection, build_query_path, connection, #custom_with_query_params!, custom_with_query_params!, extract_query_params, #extract_query_params, handle_other_error, handle_request_error, handling_errors, immutable_keys, json_patch, json_post, json_put, #path_with_query_params, query_params, set_immutable_keys, set_resource_name, set_resource_path, set_resource_root_key, writeable_query_param
Methods inherited from Object
#allowed_for_write?, #assign_all_attributes, #assign_writeable_attributes, attributes, define_private_writer, define_reader, define_writer, #initialize, #instance_attributes, new_from_json, readonly_attr, #serialize_for_write, #serialized_value_for_attr, writeable_attr, writeable_attributes
Constructor Details
This class inherits a constructor from ChartMogul::Object
Class Method Details
.create!(invoice_uuid:, handle_as_user_edit: nil, **attributes) ⇒ Object
Create a line item for an invoice
50 51 52 53 54 55 56 57 58 |
# File 'lib/chartmogul/line_item.rb', line 50 def self.create!(invoice_uuid:, handle_as_user_edit: nil, **attributes) path = build_query_path( "/v1/import/invoices/#{invoice_uuid}/line_items", handle_as_user_edit: handle_as_user_edit ) resp = handling_errors { json_post(path, attributes) } json = ChartMogul::Utils::JSONParser.parse(resp.body, immutable_keys:) new_from_json(json) end |