Class: Faker::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/faker/address.rb

Class Method Summary collapse

Class Method Details

.cityObject



4
5
6
7
8
9
10
11
# File 'lib/faker/address.rb', line 4

def city
  [
    '%s %s%s' % [city_prefix, Name.first_name, city_suffix],
    '%s %s' % [city_prefix, Name.first_name],
    '%s%s' % [Name.first_name, city_suffix],
    '%s%s' % [Name.last_name, city_suffix],
  ].rand
end

.method_missing(m, *args, &block) ⇒ Object

You can add whatever you want to the locale file, and it will get caught here… e.g., create a country_code array in your locale, then you can call #country_code and it will act like #country



43
44
45
46
47
48
49
50
# File 'lib/faker/address.rb', line 43

def method_missing(m, *args, &block)
  # Use the alternate form of translate to get a nil rather than a "missing translation" string
  if translation = I18n.translate(:address)[m]
    translation.respond_to?(:rand) ? translation.rand : translation
  else
    super
  end
end

.secondary_addressObject



24
25
26
# File 'lib/faker/address.rb', line 24

def secondary_address
  Faker.numerify(I18n.translate('address.secondary_address').rand)
end

.street_address(include_secondary = false) ⇒ Object



20
21
22
# File 'lib/faker/address.rb', line 20

def street_address(include_secondary = false)
  Faker.numerify("#{I18n.translate('address.street_address').rand} #{street_name}#{' ' + secondary_address if include_secondary}")
end

.street_nameObject



13
14
15
16
17
18
# File 'lib/faker/address.rb', line 13

def street_name
  [
    Proc.new { [Name.last_name, street_suffix].join(' ') },
    Proc.new { [Name.first_name, street_suffix].join(' ') }
  ].rand.call
end

.zip_codeObject Also known as: zip, postcode, uk_postcode



28
29
30
# File 'lib/faker/address.rb', line 28

def zip_code
  Faker.bothify(I18n.translate('address.postcode').rand).upcase
end