Sha256: d91ca3c97f5079521bcbe680707592abccd6facfb89c04d0c6567968c5a55b1f

Contents?: true

Size: 744 Bytes

Versions: 1

Compression:

Stored size: 744 Bytes

Contents

# frozen_string_literal: true

module SolidusPaypalBraintree
  class Address
    def initialize(spree_address)
      @spree_address = spree_address
    end

    def to_json(*_args)
      address_hash = {
        line1: spree_address.address1,
        line2: spree_address.address2,
        city: spree_address.city,
        postalCode: spree_address.zipcode,
        countryCode: spree_address.country.iso,
        phone: spree_address.phone,
        recipientName: spree_address.full_name
      }

      if ::Spree::Config.address_requires_state && spree_address.country.states_required
        address_hash[:state] = spree_address.state.name
      end
      address_hash.to_json
    end

    private

    attr_reader :spree_address
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solidus_paypal_braintree-1.0.0 app/models/solidus_paypal_braintree/address.rb