Sha256: 86bacd14289cdf96103e18be67c3e591fbe17fbfcaba1870ccdf4101cde03204

Contents?: true

Size: 682 Bytes

Versions: 17

Compression:

Stored size: 682 Bytes

Contents

module Economic
  module Invoices
    class BookedRepo < Economic::Invoices::Repo
      class << self
        def send(invoice, book_with_number: nil)
          response = send_request(method: :post, url: URI.escape(endpoint_url), payload: payload(invoice, book_with_number: book_with_number))

          entry_hash = JSON.parse(response.body)

          invoice.class.new(entry_hash)
        end

        private

        def payload(invoice, book_with_number: nil)
          payload = {draftInvoice: invoice.to_h}
          payload = payload.merge({bookWithNumber: book_with_number}) unless book_with_number.nil?

          payload.to_json
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
economic-rest-0.5.14 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.13 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.12 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.11 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.10 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.9 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.8 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.7 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.6 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.5 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.4 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.3 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.2 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.1 lib/economic/invoices/booked_repo.rb
economic-rest-0.5.0 lib/economic/invoices/booked_repo.rb
economic-rest-0.4.7 lib/economic/invoices/booked_repo.rb
economic-rest-0.4.6 lib/economic/invoices/booked_repo.rb