lib/easypost/address.rb in easypost-3.5.1 vs lib/easypost/address.rb in easypost-4.0.0

- old
+ new

@@ -1,58 +1,58 @@ +# frozen_string_literal: true + +# Address objects are used to represent people, places, and organizations in a number of contexts. class EasyPost::Address < EasyPost::Resource attr_accessor :message # Backwards compatibility - def self.create(params={}, api_key=nil) + # Create an Address. + def self.create(params = {}, api_key = nil) url = self.url - address = params.reject { |k,_| k == :verify || k == :verify_strict } + address = params.reject { |k, _| [:verify, :verify_strict].include?(k) } if params[:verify] || params[:verify_strict] verify = params[:verify] || [] verify_strict = params[:verify_strict] || [] - url += "?" + url += '?' verify.each do |verification| url += "verify[]=#{verification}&" end verify_strict.each do |verification| url += "verify_strict[]=#{verification}&" end end - response = EasyPost.make_request(:post, url, api_key, {address: address}) - return EasyPost::Util.convert_to_easypost_object(response, api_key) + response = EasyPost.make_request(:post, url, api_key, { address: address }) + EasyPost::Util.convert_to_easypost_object(response, api_key) end - def self.create_and_verify(params={}, carrier=nil, api_key=nil) + # Create and verify an Address in one call. + def self.create_and_verify(params = {}, carrier = nil, api_key = nil) wrapped_params = {} - wrapped_params[self.class_name().to_sym] = params + wrapped_params[class_name.to_sym] = params wrapped_params[:carrier] = carrier - response = EasyPost.make_request(:post, url + '/create_and_verify', api_key, wrapped_params) + response = EasyPost.make_request(:post, "#{url}/create_and_verify", api_key, wrapped_params) - if response.has_key?("address") - if response.has_key?("message") - response["address"]["message"] = response["message"] - end - verified_address = EasyPost::Util::convert_to_easypost_object(response["address"], api_key) - return verified_address - else - raise EasyPost::Error.new("Unable to verify address.") + raise EasyPost::Error.new('Unable to verify address.') unless response.key?('address') + + if response.key?('message') + response['address']['message'] = response['message'] end + + EasyPost::Util.convert_to_easypost_object(response['address'], api_key) end - def verify(params={}, carrier=nil) + # Verify an Address. + def verify begin - response = EasyPost.make_request(:get, url + '/verify?carrier=' + String(carrier), @api_key, params) - rescue - raise EasyPost::Error.new("Unable to verify address.") + response = EasyPost.make_request(:get, "#{url}/verify", @api_key) + rescue StandardError + raise EasyPost::Error.new('Unable to verify address.') end - if response.has_key?("address") - return EasyPost::Util::convert_to_easypost_object(response["address"], api_key) - else - raise EasyPost::Error.new("Unable to verify address.") - end + raise EasyPost::Error.new('Unable to verify address.') unless response.key?('address') - return self + EasyPost::Util.convert_to_easypost_object(response['address'], api_key) end end