Class: KillBillClient::Model::InvoiceItem
- Inherits:
-
InvoiceItemAttributes
- Object
- Resource
- InvoiceItemAttributes
- KillBillClient::Model::InvoiceItem
- Includes:
- CustomFieldHelper, TagHelper
- Defined in:
- lib/killbill_client/models/invoice_item.rb
Constant Summary collapse
- KILLBILL_API_INVOICE_ITEMS_PREFIX =
"#{KILLBILL_API_PREFIX}/invoiceItems"
Constants included from TagHelper
TagHelper::AUTO_INVOICING_OFF_ID, TagHelper::AUTO_PAY_OFF_ID, TagHelper::MANUAL_PAY_ID, TagHelper::OVERDUE_ENFORCEMENT_OFF_ID, TagHelper::TEST_ID, TagHelper::WRITTEN_OFF_ID
Constants inherited from Resource
Resource::KILLBILL_API_PAGINATION_PREFIX, Resource::KILLBILL_API_PREFIX
Instance Attribute Summary
Attributes inherited from Resource
#clazz, #etag, #response, #session_id, #uri
Instance Method Summary collapse
- #add_tags_from_definition_ids(tag_definition_ids, user, reason, comment, options) ⇒ Object
- #create(auto_commit = false, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
-
#delete(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Delete CBA.
- #tags(included_deleted = false, audit = 'NONE', options = {}) ⇒ Object
-
#update(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Adjust an invoice item.
Methods included from CustomFieldHelper
Methods included from TagHelper
#add_tag, #add_tag_from_definition_id, #control_tag?, included, #remove_tag, #remove_tag_from_definition_id, #set_tags
Methods inherited from Resource
#==, #_to_hash, attribute, create_alias, delete, extract_session_id, from_json, from_response, get, has_many, has_one, #hash, head, #initialize, instantiate_record_from_json, post, put, #refresh, require_multi_tenant_options!, #to_hash, #to_json
Constructor Details
This class inherits a constructor from KillBillClient::Model::Resource
Instance Method Details
#add_tags_from_definition_ids(tag_definition_ids, user, reason, comment, options) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/killbill_client/models/invoice_item.rb', line 26 def (tag_definition_ids, user, reason, comment, ) created_tag = self.class.post "#{KILLBILL_API_INVOICE_ITEMS_PREFIX}/#{invoice_item_id}/tags", {}, { :tagList => tag_definition_ids.join(',') }, { :user => user, :reason => reason, :comment => comment, }.merge(), Tag (false, 'NONE', ) unless created_tag.nil? end |
#create(auto_commit = false, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/killbill_client/models/invoice_item.rb', line 42 def create(auto_commit = false, user = nil, reason = nil, comment = nil, = {}) created_invoice_item = self.class.post "#{Invoice::KILLBILL_API_INVOICES_PREFIX}/charges/#{account_id}", [to_hash].to_json, {:autoCommit => auto_commit}, { :user => user, :reason => reason, :comment => comment, }.merge() created_invoice_item.first.refresh(, Invoice) end |
#delete(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Delete CBA
Required: invoice_id, invoice_item_id
73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/killbill_client/models/invoice_item.rb', line 73 def delete(user = nil, reason = nil, comment = nil, = {}) self.class.delete "#{Invoice::KILLBILL_API_INVOICES_PREFIX}/#{invoice_id}/#{invoice_item_id}/cba", to_json, { :accountId => account_id }, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#tags(included_deleted = false, audit = 'NONE', options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/killbill_client/models/invoice_item.rb', line 15 def (included_deleted = false, audit = 'NONE', = {}) params = {} params[:accountId] = account_id params[:includedDeleted] = included_deleted if included_deleted params[:audit] = audit self.class.get "#{KILLBILL_API_INVOICE_ITEMS_PREFIX}/#{invoice_item_id}/tags", params, , Tag end |
#update(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Adjust an invoice item
Required: account_id, invoice_id, invoice_item_id Optional: amount, currency
58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/killbill_client/models/invoice_item.rb', line 58 def update(user = nil, reason = nil, comment = nil, = {}) adjusted_invoice_item = self.class.post "#{Invoice::KILLBILL_API_INVOICES_PREFIX}/#{invoice_id}", to_json, {}, { :user => user, :reason => reason, :comment => comment, }.merge() adjusted_invoice_item.refresh(, Invoice) end |