Sha256: 4cf24b51453de000c592d86d15d12757b9420bff440aa226f1a7b288079a47c0
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module LedgerSync module Xero class Request < Ledgers::Request attr_reader :client def initialize(*args, client:, **keywords) @client = client super(*args, **keywords) end def perform raise 'Request already performed' if performed? @response = generate_response( body: body, headers: headers, method: method, url: url ) ensure @performed = true end def refresh! oauth.refresh! rescue OAuth2::Error => e raise e # parse_error(error: e) end private def generate_response(body:, headers:, method:, url:) oauth_response = oauth.send( method, url, body: (body.to_json unless body.nil?), headers: headers ) LedgerSync::Ledgers::Response.new_from_oauth_response( oauth_response: oauth_response, request: self ) end def oauth client.oauth end def oauth_client client.oauth_client end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ledger_sync-xero-0.1.0 | lib/ledger_sync/xero/request.rb |