Sha256: 5169f207bfc23f5ed97ee1d8bd281c7000d3dbac776669e824393f047d047eb3

Contents?: true

Size: 997 Bytes

Versions: 21

Compression:

Stored size: 997 Bytes

Contents

module Unit
  module Types
    class Address
      attr_reader :street, :street2, :city, :state, :postal_code, :country

      def initialize(
        street:,
        city:,
        state:,
        postal_code:,
        country:,
        street2: nil
      )
        @street = street
        @street2 = street2
        @city = city
        @state = state
        @postal_code = postal_code
        @country = country
      end

      def self.cast(val)
        return val if val.is_a? self
        return nil if val.nil?

        new(
          street: val[:street],
          street2: val[:street2],
          city: val[:city],
          state: val[:state],
          postal_code: val[:postal_code],
          country: val[:country]
        )
      end

      def as_json_api
        {
          street: street,
          street2: street2,
          city: city,
          state: state,
          postal_code: postal_code,
          country: country
        }.compact
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
unit-ruby-0.12.1 lib/unit-ruby/types/address.rb
unit-ruby-0.12.0 lib/unit-ruby/types/address.rb
unit-ruby-0.11.0 lib/unit-ruby/types/address.rb
unit-ruby-0.10.1 lib/unit-ruby/types/address.rb
unit-ruby-0.10.0 lib/unit-ruby/types/address.rb
unit-ruby-0.9.0 lib/unit-ruby/types/address.rb
unit-ruby-0.8.1 lib/unit-ruby/types/address.rb
unit-ruby-0.8.0 lib/unit-ruby/types/address.rb
unit-ruby-0.7.0 lib/unit-ruby/types/address.rb
unit-ruby-0.6.0 lib/unit-ruby/types/address.rb
unit-ruby-0.5.0 lib/unit-ruby/types/address.rb
unit-ruby-0.4.3 lib/unit-ruby/types/address.rb
unit-ruby-0.4.2 lib/unit-ruby/types/address.rb
unit-ruby-0.4.1 lib/unit-ruby/types/address.rb
unit-ruby-0.4.0 lib/unit-ruby/types/address.rb
unit-ruby-0.3.7 lib/unit-ruby/types/address.rb
unit-ruby-0.2.7 lib/unit-ruby/types/address.rb
unit-ruby-0.2.6 lib/unit-ruby/types/address.rb
unit-ruby-0.2.5 lib/unit-ruby/types/address.rb
unit-ruby-0.2.4 lib/unit-ruby/types/address.rb