Sha256: f3a2ada2f5e33b7ed986a8e3e6182faa07a09b5b3b40d02e3388096113165027
Contents?: true
Size: 640 Bytes
Versions: 1
Compression:
Stored size: 640 Bytes
Contents
require 'json' module Smsc # Response parse class Response class << self def parse(body, request_params) json = JSON.parse(body, symbolize_names: true) raise_client_errors(json, request_params[:errors] || {}) request_params[:model].new(json) end def raise_client_errors(json, error_map) error_code = json[:error_code] error_message = json[:error] return if error_code.nil? error_class = error_map[error_code.to_i] raise error_class, error_message unless error_class.nil? raise Smsc::ClientError, error_message end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
smsc_ru-0.1.0 | lib/smsc/response.rb |