class FreeAgent::CreditNotesResource
Public Instance Methods
create(contact:, dated_on:, payment_terms_in_days: 0, **params)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 30 def create(contact:, dated_on:, payment_terms_in_days: 0, **params) attributes = {contact: contact, dated_on: dated_on, payment_terms_in_days: payment_terms_in_days} response = post_request("credit_notes", body: {credit_note: attributes.merge(params)}) CreditNote.new(response.body["credit_note"]) if response.success? end
delete(id:)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 47 def delete(id:) response = delete_request("credit_notes/#{id}") response.success? end
email(id:, to:, **params)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 52 def email(id:, to:, **params) attributes = {to: to} response = post_request("credit_notes/#{id}/send_email", body: {credit_note: {email: attributes.merge(params)}}) response.success? end
list(**params)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 4 def list(**params) response = get_request("credit_notes", params: params) Collection.from_response(response, type: CreditNote, key: "credit_notes") end
list_for_contact(contact:, **params)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 9 def list_for_contact(contact:, **params) response = get_request("credit_notes?contact=#{contact}", params: params) Collection.from_response(response, type: CreditNote, key: "credit_notes") end
list_for_project(project:, **params)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 14 def list_for_project(project:, **params) response = get_request("credit_notes?project=#{project}", params: params) Collection.from_response(response, type: CreditNote, key: "credit_notes") end
mark_as_cancelled(id:)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 68 def mark_as_cancelled(id:) response = put_request("credit_notes/#{id}/transitions/mark_as_cancelled", body: {}) response.success? end
mark_as_draft(id:)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 63 def mark_as_draft(id:) response = put_request("credit_notes/#{id}/transitions/mark_as_draft", body: {}) response.success? end
mark_as_sent(id:)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 58 def mark_as_sent(id:) response = put_request("credit_notes/#{id}/transitions/mark_as_sent", body: {}) response.success? end
retrieve(id:)
click to toggle source
# File lib/free_agent/resources/credit_notes.rb, line 19 def retrieve(id:) response = get_request("credit_notes/#{id}") CreditNote.new(response.body["credit_note"]) end
retrieve_pdf(id:)
click to toggle source
Returns a Base64-encoded PDF
# File lib/free_agent/resources/credit_notes.rb, line 25 def retrieve_pdf(id:) response = get_request("credit_notes/#{id}/pdf") response.body["pdf"]["content"] if response.success? end
update(id:, **params)
click to toggle source
def duplicate(id:)
response = post_request("invoices/#{id}/duplicate", body: {}) Invoice.new(response.body["invoice"]) if response.success?
end
# File lib/free_agent/resources/credit_notes.rb, line 42 def update(id:, **params) response = put_request("credit_notes/#{id}", body: {credit_note: params}) CreditNote.new(response.body["credit_note"]) if response.success? end