class StreetAddress::US::Address

This is class returned by StreetAddress::US.parse, StreetAddress::US.parse_address and StreetAddress::US.parse_intersection. If an instance represents an intersection the attribute street2 will be populated.

Attributes

city[RW]
number[RW]
postal_code[RW]
postal_code_ext[RW]
prefix[RW]
prefix2[RW]
state[RW]
street[RW]
street2[RW]
street_type[RW]
street_type2[RW]
suffix[RW]
suffix2[RW]
unit[RW]
unit_prefix[RW]

Public Class Methods

new(args) click to toggle source
# File lib/street_address.rb, line 835
def initialize(args)
  args.keys.each do |attrib|
    self.send("#{attrib}=", args[attrib])
  end
  return
end

Public Instance Methods

intersection?() click to toggle source
# File lib/street_address.rb, line 850
def intersection?
  !street2.nil?
end
line1(s = "") click to toggle source
# File lib/street_address.rb, line 854
def line1(s = "")
  if intersection?
    s += prefix + " " unless prefix.nil?
    s += street
    s += " " + street_type unless street_type.nil?
    s += " " + suffix unless suffix.nil?
    s += " and"
    s += " " + prefix2 unless prefix2.nil?
    s += " " + street2
    s += " " + street_type2 unless street_type2.nil?
    s += " " + suffix2 unless suffix2.nil?
  else
    return if intersection?
    s += number
    s += " " + prefix unless prefix.nil?
    s += " " + street unless street.nil?
    s += " " + street_type unless street_type.nil?
    if( !unit_prefix.nil? && !unit.nil? )
      s += " " + unit_prefix
      s += " " + unit
    elsif( unit_prefix.nil? && !unit.nil? )
      s += " #" + unit
    end

    return s
  end
end
state_fips() click to toggle source
# File lib/street_address.rb, line 842
def state_fips
  StreetAddress::US::FIPS_STATES[state]
end
state_name() click to toggle source
# File lib/street_address.rb, line 846
def state_name
  name = StreetAddress::US::STATE_NAMES[state] and name.capitalize
end
to_s(format = :default) click to toggle source
# File lib/street_address.rb, line 882
def to_s(format = :default)
  s = ""
  case format
  when :line1
    s += line1(s)
  else
    if intersection?
      s += prefix + " " unless prefix.nil?
      s += street
      s += " " + street_type unless street_type.nil?
      s += " " + suffix unless suffix.nil?
      s += " and"
      s += " " + prefix2 unless prefix2.nil?
      s += " " + street2
      s += " " + street_type2 unless street_type2.nil?
      s += " " + suffix2 unless suffix2.nil?
      s += ", " + city unless city.nil?
      s += ", " + state unless state.nil?
      s += " " + postal_code unless postal_code.nil?
    else
      s += line1(s)
      s += ", " + city unless city.nil?
      s += ", " + state unless state.nil?
      s += " " + postal_code unless postal_code.nil?
      s += "-" + postal_code_ext unless postal_code_ext.nil?
    end
  end
  return s
end