Sha256: ab4dd58627504aa152d9600f6722c6c92c7c43882e8120ef513b8dadd55b3e26
Contents?: true
Size: 908 Bytes
Versions: 1
Compression:
Stored size: 908 Bytes
Contents
# frozen_string_literal: true module GoPuff module TaxService module Response class Base def initialize(raw_response) @raw_response = raw_response end def self.empty_response(**options) new({ success: false, error: nil, data: {}, **options }) end def [](key) return data[key] unless data.is_a?(Hash) data[possible_key_for(key)] end def success? @raw_response[:success] end def error? error.present? end def error @raw_response[:error] end def data @raw_response[:data] end private def possible_key_for(key) [key.to_sym, key.to_s.camelize(:lower).to_sym].find do |possible_key| data&.key?(possible_key) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
go_puff-tax_service-1.5.0 | lib/go_puff/tax_service/response/base.rb |