class SimpleShipping::Fedex::PartyBuilder
Knows how to convert {Party} model to SOAP element for FedEx.
Public Instance Methods
build()
click to toggle source
Build a SOAP party element as a hash for Savon.
# File lib/simple_shipping/fedex/party_builder.rb, line 5 def build {'Contact' => build_contact, 'Address' => build_address, :order! => ['Contact', 'Address']} end
Private Instance Methods
build_address()
click to toggle source
Build body for Address
element.
@return [Hash]
# File lib/simple_shipping/fedex/party_builder.rb, line 34 def build_address addr = @model.address {'StreetLines' => addr.street_line, 'City' => addr.city, 'StateOrProvinceCode' => addr.state_code, 'PostalCode' => addr.postal_code, 'CountryCode' => addr.country_code, :order! => [ 'StreetLines', 'City', 'StateOrProvinceCode', 'PostalCode', 'CountryCode' ] } end
build_contact()
click to toggle source
Build the body for a Contact
element.
@return [Hash]
# File lib/simple_shipping/fedex/party_builder.rb, line 14 def build_contact result = {:order! => []} contact = @model.contact if contact.company_name result['CompanyName'] = contact.company_name result[:order!] << 'CompanyName' end if contact.person_name result['PersonName'] = contact.person_name result[:order!] << 'PersonName' end result['PhoneNumber'] = contact.phone_number result[:order!] << 'PhoneNumber' result end