| 1234567891011121314151617181920 |
- # frozen_string_literal: true
- module Paratika
- class InvalidSignatureError < ::StandardError; end
- class InvalidResponseCodeError < ::StandardError; end
- class Response
- attr_reader :data
- def initialize(response)
- @data = JSON.parse(response.body).transform_keys!{ |k| snake_case(k) }.symbolize_keys
- @data.merge!({ time: DateTime.now, success: data[:response_code] == '00' })
- end
- private
- def snake_case(str)
- str.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
- .gsub(/([a-z\d])([A-Z])/, '\1_\2')
- .downcase
- end
- end
- end
|