Sha256: 6b42e7535514ec0f01b2662ae6a2a5ddeec8f04ddf94624c1589e547396caa9f
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true require 'atol/request/post_document' require 'atol/errors' module Atol module Transaction class PostDocument def initialize(operation:, token:, body:, config: nil, req_logger: nil, res_logger: nil) @config = config || Atol.config raise(Atol::ConfigExpectedError) unless @config.is_a?(Atol::Config) @params = { operation: operation, token: token, body: body, config: config, req_logger: req_logger, res_logger: res_logger } end def call request = Atol::Request::PostDocument.new(@params) response = request.call encoded_body = response.body.dup.force_encoding(Atol::ENCODING) json = JSON.parse(encoded_body) if response.code == '200' && json['error'].nil? json elsif ERRORS[json['error']['code']] raise(ERRORS[json['error']['code']], encoded_body) else raise(encoded_body) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
atol-0.7 | lib/atol/transaction/post_document.rb |
atol-0.6 | lib/atol/transaction/post_document.rb |
atol-0.5.1 | lib/atol/transaction/post_document.rb |