Files
fiken-api/lib/fiken/resources/concerns/drafts.rb
T

37 lines
1.1 KiB
Ruby

# frozen_string_literal: true
module Fiken
module Resources
module Concerns
# /<parent>/drafts — the draft lifecycle shared by invoices, credit notes,
# offers, order confirmations, sales and purchases.
class Drafts < Resource::Base
include Resource::Listable
include Resource::Findable
include Resource::Creatable
include Resource::Updatable # drafts update via PUT
include Resource::Deletable
def initialize(client, company_slug, parent_path, create_action)
super(client, company_slug)
@parent_path = parent_path
@create_action = create_action
end
def base_path
"#{@parent_path}/drafts"
end
def attachments(draft_id)
Attachments.new(client, company_slug, "#{base_path}/#{draft_id}")
end
# Finalize a draft into its document (e.g. createInvoice, createSale).
def create_document(draft_id, attributes = nil)
post_create("#{base_path}/#{draft_id}/#{@create_action}", attributes)
end
end
end
end
end