class ModulePos::Fiscalization::JsonRequest

Constants

InvalidResponse

Public Class Methods

new(conn, logger = nil) click to toggle source
# File lib/module_pos/fiscalization/json_request.rb, line 21
def initialize(conn, logger = nil)
  @conn = conn
  @conn.response(:logger, logger) if logger
end

Public Instance Methods

call(user = nil, pass = nil) { |conn| ... } click to toggle source
# File lib/module_pos/fiscalization/json_request.rb, line 7
def call(user = nil, pass = nil)
  @conn.basic_auth(user, pass) if user && pass
  response = yield @conn
  if response.status.to_s.match?(/2[0-9][0-9]/)
    JSON.parse!(response.body).compact unless response.body.empty?
  else
    raise ResponseError, "Status: #{response.status} Response: #{response.body}"
  end
rescue JSON::ParserError
  raise InvalidResponse
end