ffaker 1.15.0 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.rdoc +4 -1
- data/Gemfile +2 -0
- data/README.rdoc +1 -1
- data/ffaker.gemspec +43 -2
- data/lib/ffaker.rb +31 -5
- data/lib/ffaker/address.rb +57 -4
- data/lib/ffaker/address_au.rb +41 -42
- data/lib/ffaker/address_de.rb +16 -0
- data/lib/ffaker/address_mx.rb +448 -0
- data/lib/ffaker/address_se.rb +1074 -0
- data/lib/ffaker/company_se.rb +24 -0
- data/lib/ffaker/conference.rb +52 -0
- data/lib/ffaker/dizzle_ipsum.rb +30 -0
- data/lib/ffaker/identification.rb +25 -0
- data/lib/ffaker/internet_se.rb +105 -0
- data/lib/ffaker/lorem.rb +1 -1
- data/lib/ffaker/lorem_ar.rb +45 -0
- data/lib/ffaker/lorem_cn.rb +6 -6
- data/lib/ffaker/movie.rb +64 -0
- data/lib/ffaker/name_ga.rb +57 -0
- data/lib/ffaker/name_mx.rb +198 -0
- data/lib/ffaker/name_ph.rb +91 -0
- data/lib/ffaker/name_se.rb +97 -0
- data/lib/ffaker/name_sn.rb +1 -1
- data/lib/ffaker/phone_number_mx.rb +57 -0
- data/lib/ffaker/phone_number_se.rb +111 -0
- data/lib/ffaker/ssn.rb +15 -0
- data/lib/ffaker/ssn_se.rb +111 -0
- data/lib/ffaker/string.rb +90 -0
- data/lib/ffaker/time.rb +28 -0
- data/lib/ffaker/venue.rb +45 -0
- data/test/test_address.rb +15 -7
- data/test/test_address_au.rb +10 -14
- data/test/test_address_de.rb +8 -0
- data/test/test_address_mx.rb +25 -0
- data/test/test_address_se.rb +36 -0
- data/test/test_company_se.rb +14 -0
- data/test/test_conference.rb +8 -0
- data/test/test_dizzle_ipsum.rb +28 -0
- data/test/test_faker.rb +20 -4
- data/test/test_faker_internet_se.rb +66 -0
- data/test/test_faker_name_ga.rb +54 -0
- data/test/test_faker_name_mx.rb +177 -0
- data/test/test_faker_name_ph.rb +15 -0
- data/test/test_faker_name_se.rb +37 -0
- data/test/test_faker_name_sn.rb +1 -0
- data/test/test_identification.rb +25 -0
- data/test/test_lorem_ar.rb +35 -0
- data/test/test_movie.rb +7 -0
- data/test/test_phone_number_mx.rb +42 -0
- data/test/test_phone_number_se.rb +58 -0
- data/test/test_ssn.rb +9 -0
- data/test/test_ssn_se.rb +43 -0
- data/test/test_string.rb +69 -0
- data/test/test_time.rb +17 -0
- data/test/test_venue.rb +8 -0
- metadata +64 -4
data/Changelog.rdoc
CHANGED
@@ -1,10 +1,13 @@
|
|
1
|
+
== 1.16.0
|
2
|
+
Many module additions from different contributors!
|
3
|
+
|
1
4
|
== 1.15.0
|
2
5
|
NameKR (https://github.com/EmmanuelOga/ffaker/pull/47) and PhoneNumbersSG
|
3
6
|
(https://github.com/EmmanuelOga/ffaker/pull/46).
|
4
7
|
|
5
8
|
== 1.14.0
|
6
9
|
|
7
|
-
AddressSN (thanks
|
10
|
+
AddressSN (thanks PapePathe), and a bugfix on Faker::Product.model (thanks finarfin).
|
8
11
|
|
9
12
|
== 1.13.0
|
10
13
|
|
data/Gemfile
ADDED
data/README.rdoc
CHANGED
@@ -33,7 +33,7 @@ in mind, if your spec suite is slow, chances are the generation of random data
|
|
33
33
|
will not account for much of the run time.
|
34
34
|
|
35
35
|
Since then, the original faker gem has become faster (at the moment it did not
|
36
|
-
seem it was
|
36
|
+
seem it was maintained). Nevertheless, ffaker is still about 20x faster than
|
37
37
|
faker.
|
38
38
|
|
39
39
|
$ cat scripts/benchmark.rb
|
data/ffaker.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'ffaker'
|
7
|
-
s.version = '1.
|
8
|
-
s.date = '
|
7
|
+
s.version = '1.16.0'
|
8
|
+
s.date = '2013-04-28'
|
9
9
|
s.rubyforge_project = 'ffaker'
|
10
10
|
|
11
11
|
s.summary = "Faster Faker, generates dummy data."
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
# = MANIFEST =
|
24
24
|
s.files = %w[
|
25
25
|
Changelog.rdoc
|
26
|
+
Gemfile
|
26
27
|
LICENSE
|
27
28
|
README.rdoc
|
28
29
|
Rakefile
|
@@ -33,35 +34,55 @@ Gem::Specification.new do |s|
|
|
33
34
|
lib/ffaker/address_ca.rb
|
34
35
|
lib/ffaker/address_da.rb
|
35
36
|
lib/ffaker/address_de.rb
|
37
|
+
lib/ffaker/address_mx.rb
|
38
|
+
lib/ffaker/address_se.rb
|
36
39
|
lib/ffaker/address_sn.rb
|
37
40
|
lib/ffaker/address_uk.rb
|
38
41
|
lib/ffaker/address_us.rb
|
39
42
|
lib/ffaker/company.rb
|
43
|
+
lib/ffaker/company_se.rb
|
44
|
+
lib/ffaker/conference.rb
|
45
|
+
lib/ffaker/dizzle_ipsum.rb
|
40
46
|
lib/ffaker/education.rb
|
41
47
|
lib/ffaker/geolocation.rb
|
42
48
|
lib/ffaker/hipster_ipsum.rb
|
43
49
|
lib/ffaker/html_ipsum.rb
|
50
|
+
lib/ffaker/identification.rb
|
44
51
|
lib/ffaker/internet.rb
|
52
|
+
lib/ffaker/internet_se.rb
|
45
53
|
lib/ffaker/job.rb
|
46
54
|
lib/ffaker/lorem.rb
|
55
|
+
lib/ffaker/lorem_ar.rb
|
47
56
|
lib/ffaker/lorem_cn.rb
|
57
|
+
lib/ffaker/movie.rb
|
48
58
|
lib/ffaker/name.rb
|
49
59
|
lib/ffaker/name_cn.rb
|
50
60
|
lib/ffaker/name_da.rb
|
51
61
|
lib/ffaker/name_de.rb
|
62
|
+
lib/ffaker/name_ga.rb
|
52
63
|
lib/ffaker/name_ja.rb
|
53
64
|
lib/ffaker/name_kr.rb
|
65
|
+
lib/ffaker/name_mx.rb
|
66
|
+
lib/ffaker/name_ph.rb
|
54
67
|
lib/ffaker/name_ru.rb
|
68
|
+
lib/ffaker/name_se.rb
|
55
69
|
lib/ffaker/name_sn.rb
|
56
70
|
lib/ffaker/name_vn.rb
|
57
71
|
lib/ffaker/phone_number.rb
|
58
72
|
lib/ffaker/phone_number_au.rb
|
59
73
|
lib/ffaker/phone_number_da.rb
|
74
|
+
lib/ffaker/phone_number_mx.rb
|
75
|
+
lib/ffaker/phone_number_se.rb
|
60
76
|
lib/ffaker/phone_number_sg.rb
|
61
77
|
lib/ffaker/phone_number_sn.rb
|
62
78
|
lib/ffaker/product.rb
|
79
|
+
lib/ffaker/ssn.rb
|
80
|
+
lib/ffaker/ssn_se.rb
|
81
|
+
lib/ffaker/string.rb
|
82
|
+
lib/ffaker/time.rb
|
63
83
|
lib/ffaker/utils/array_utils.rb
|
64
84
|
lib/ffaker/utils/module_utils.rb
|
85
|
+
lib/ffaker/venue.rb
|
65
86
|
scripts/benchmark.rb
|
66
87
|
scripts/profile.sh
|
67
88
|
scripts/profiling.rb
|
@@ -70,32 +91,52 @@ Gem::Specification.new do |s|
|
|
70
91
|
test/test_address_au.rb
|
71
92
|
test/test_address_ca.rb
|
72
93
|
test/test_address_de.rb
|
94
|
+
test/test_address_mx.rb
|
95
|
+
test/test_address_se.rb
|
73
96
|
test/test_address_sn.rb
|
74
97
|
test/test_address_uk.rb
|
75
98
|
test/test_address_us.rb
|
76
99
|
test/test_array_utils.rb
|
77
100
|
test/test_company.rb
|
101
|
+
test/test_company_se.rb
|
102
|
+
test/test_conference.rb
|
103
|
+
test/test_dizzle_ipsum.rb
|
78
104
|
test/test_education.rb
|
79
105
|
test/test_faker.rb
|
80
106
|
test/test_faker_internet.rb
|
107
|
+
test/test_faker_internet_se.rb
|
81
108
|
test/test_faker_job.rb
|
82
109
|
test/test_faker_name.rb
|
83
110
|
test/test_faker_name_cn.rb
|
84
111
|
test/test_faker_name_de.rb
|
112
|
+
test/test_faker_name_ga.rb
|
85
113
|
test/test_faker_name_ja.rb
|
86
114
|
test/test_faker_name_kr.rb
|
115
|
+
test/test_faker_name_mx.rb
|
116
|
+
test/test_faker_name_ph.rb
|
87
117
|
test/test_faker_name_ru.rb
|
118
|
+
test/test_faker_name_se.rb
|
88
119
|
test/test_faker_name_sn.rb
|
89
120
|
test/test_geolocation.rb
|
90
121
|
test/test_hipster_ipsum.rb
|
91
122
|
test/test_html_ipsum.rb
|
123
|
+
test/test_identification.rb
|
92
124
|
test/test_lorem.rb
|
125
|
+
test/test_lorem_ar.rb
|
93
126
|
test/test_lorem_cn.rb
|
94
127
|
test/test_module_utils.rb
|
128
|
+
test/test_movie.rb
|
95
129
|
test/test_phone_number.rb
|
96
130
|
test/test_phone_number_au.rb
|
131
|
+
test/test_phone_number_mx.rb
|
132
|
+
test/test_phone_number_se.rb
|
97
133
|
test/test_phone_number_sg.rb
|
98
134
|
test/test_phone_number_sn.rb
|
135
|
+
test/test_ssn.rb
|
136
|
+
test/test_ssn_se.rb
|
137
|
+
test/test_string.rb
|
138
|
+
test/test_time.rb
|
139
|
+
test/test_venue.rb
|
99
140
|
]
|
100
141
|
# = MANIFEST =
|
101
142
|
|
data/lib/ffaker.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Faker
|
2
|
-
VERSION = "1.
|
2
|
+
VERSION = "1.16.0"
|
3
3
|
|
4
4
|
require 'ffaker/utils/array_utils'
|
5
5
|
require 'ffaker/utils/module_utils'
|
@@ -7,6 +7,7 @@ module Faker
|
|
7
7
|
extend ModuleUtils
|
8
8
|
|
9
9
|
LETTERS = k('a'..'z')
|
10
|
+
CAPITAL_LETTERS = k('A'..'Z')
|
10
11
|
|
11
12
|
def self.numerify(*masks)
|
12
13
|
mask = ArrayUtils.rand(masks.flatten)
|
@@ -14,42 +15,67 @@ module Faker
|
|
14
15
|
mask
|
15
16
|
end
|
16
17
|
|
17
|
-
def self.letterify(*masks)
|
18
|
+
def self.letterify(capitalize = false, *masks)
|
18
19
|
mask = ArrayUtils.rand(masks.flatten)
|
19
|
-
|
20
|
+
if capitalize
|
21
|
+
mask.gsub!(/\?/) {CAPITAL_LETTERS.rand}
|
22
|
+
else
|
23
|
+
mask.gsub!(/\?/) { LETTERS.rand }
|
24
|
+
end
|
20
25
|
mask
|
21
26
|
end
|
22
27
|
|
23
|
-
def self.bothify(masks)
|
24
|
-
letterify(numerify(masks))
|
28
|
+
def self.bothify(capitalize = false, masks)
|
29
|
+
letterify(capitalize, numerify(masks))
|
25
30
|
end
|
26
31
|
|
27
32
|
autoload :Address, 'ffaker/address'
|
28
33
|
autoload :AddressAU, 'ffaker/address_au'
|
29
34
|
autoload :AddressCA, 'ffaker/address_ca'
|
30
35
|
autoload :AddressDE, 'ffaker/address_de'
|
36
|
+
autoload :AddressSE, 'ffaker/address_se'
|
37
|
+
autoload :AddressMX, 'ffaker/address_mx'
|
31
38
|
autoload :AddressSN, 'ffaker/address_sn'
|
32
39
|
autoload :AddressUK, 'ffaker/address_uk'
|
33
40
|
autoload :AddressUS, 'ffaker/address_us'
|
34
41
|
autoload :Company, 'ffaker/company'
|
42
|
+
autoload :CompanySE, 'ffaker/company_se'
|
43
|
+
autoload :Conference, 'ffaker/conference'
|
44
|
+
autoload :DizzleIpsum, 'ffaker/dizzle_ipsum'
|
35
45
|
autoload :Education, 'ffaker/education'
|
36
46
|
autoload :Geolocation, 'ffaker/geolocation'
|
37
47
|
autoload :HTMLIpsum, 'ffaker/html_ipsum'
|
38
48
|
autoload :HipsterIpsum, 'ffaker/hipster_ipsum'
|
49
|
+
autoload :Identification,'ffaker/identification'
|
39
50
|
autoload :Internet, 'ffaker/internet'
|
51
|
+
autoload :InternetSE, 'ffaker/internet_se'
|
40
52
|
autoload :Job, 'ffaker/job'
|
41
53
|
autoload :Lorem, 'ffaker/lorem'
|
54
|
+
autoload :LoremAR, 'ffaker/lorem_ar'
|
42
55
|
autoload :LoremCN, 'ffaker/lorem_cn'
|
56
|
+
autoload :Movie, 'ffaker/movie'
|
43
57
|
autoload :Name, 'ffaker/name'
|
44
58
|
autoload :NameCN, 'ffaker/name_cn'
|
45
59
|
autoload :NameDE, 'ffaker/name_de'
|
60
|
+
autoload :NameGA, 'ffaker/name_ga'
|
46
61
|
autoload :NameJA, 'ffaker/name_ja'
|
62
|
+
autoload :NameMX, 'ffaker/name_mx'
|
47
63
|
autoload :NameKR, 'ffaker/name_kr'
|
48
64
|
autoload :NameRU, 'ffaker/name_ru'
|
65
|
+
autoload :NameSE, 'ffaker/name_se'
|
49
66
|
autoload :NameSN, 'ffaker/name_sn'
|
67
|
+
autoload :NamePH, 'ffaker/name_ph'
|
50
68
|
autoload :PhoneNumber, 'ffaker/phone_number'
|
51
69
|
autoload :PhoneNumberAU, 'ffaker/phone_number_au'
|
70
|
+
autoload :PhoneNumberSE, 'ffaker/phone_number_se'
|
71
|
+
autoload :PhoneNumberMX, 'ffaker/phone_number_mx'
|
52
72
|
autoload :PhoneNumberSN, 'ffaker/phone_number_sn'
|
53
73
|
autoload :PhoneNumberSG, 'ffaker/phone_number_sg'
|
54
74
|
autoload :Product, 'ffaker/product'
|
75
|
+
autoload :SSN, 'ffaker/ssn'
|
76
|
+
autoload :SSNSE, 'ffaker/ssn_se'
|
77
|
+
autoload :Regexp, 'ffaker/regexp'
|
78
|
+
autoload :String, 'ffaker/string'
|
79
|
+
autoload :Time, 'ffaker/time'
|
80
|
+
autoload :Venue, 'ffaker/venue'
|
55
81
|
end
|
data/lib/ffaker/address.rb
CHANGED
@@ -41,6 +41,10 @@ module Faker
|
|
41
41
|
STREET_SUFFIX.rand
|
42
42
|
end
|
43
43
|
|
44
|
+
def building_number
|
45
|
+
Faker.numerify ( '#' * rand(3) ) << '###'
|
46
|
+
end
|
47
|
+
|
44
48
|
def street_name
|
45
49
|
case rand(2)
|
46
50
|
when 0 then "#{Name.last_name} #{street_suffix}"
|
@@ -49,10 +53,9 @@ module Faker
|
|
49
53
|
end
|
50
54
|
|
51
55
|
def street_address(include_secondary = false)
|
52
|
-
str =
|
53
|
-
str <<
|
54
|
-
|
55
|
-
Faker.numerify(str)
|
56
|
+
str = "#{building_number} #{street_name}"
|
57
|
+
str << " #{secondary_address}" if include_secondary
|
58
|
+
str
|
56
59
|
end
|
57
60
|
|
58
61
|
def secondary_address
|
@@ -81,6 +84,9 @@ module Faker
|
|
81
84
|
NEIGHBORHOOD.rand
|
82
85
|
end
|
83
86
|
|
87
|
+
def country
|
88
|
+
COUNTRY.rand
|
89
|
+
end
|
84
90
|
|
85
91
|
COMPASS_DIRECTIONS = k %w(North East West South)
|
86
92
|
|
@@ -124,5 +130,52 @@ module Faker
|
|
124
130
|
'Cipriani', 'Brentwood Central', 'Jupiter South/Abacoa', 'Sea Ranch Lakes', 'Schall Circle/Lakeside Green',
|
125
131
|
'Olmsted Falls Central', 'South of Lake Shore Blvd', 'Gates Mills North', 'White Oak South of Columbia Pike',
|
126
132
|
'Rockville East of Hungerford Dr', 'Cleveland Park']
|
133
|
+
|
134
|
+
COUNTRY = k ["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla",
|
135
|
+
"Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
|
136
|
+
"Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda",
|
137
|
+
"Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil",
|
138
|
+
"British Indian Ocean Territory", "British Virgin Islands", "Brunei",
|
139
|
+
"Bulgaria", "Burkina Faso", "Burundi",
|
140
|
+
"Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic",
|
141
|
+
"Chad", "Chile", "China", "Christmas Island", "Cocos Islands", "Colombia", "Comoros",
|
142
|
+
"Congo", "Congo", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus",
|
143
|
+
"Czech Republic",
|
144
|
+
"Denmark", "Djibouti", "Dominica", "Dominican Republic",
|
145
|
+
"Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia",
|
146
|
+
"Faroe Islands", "Falkland Islands", "Fiji", "Finland", "France", "French Guiana",
|
147
|
+
"French Polynesia", "French Southern Territories",
|
148
|
+
"Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada",
|
149
|
+
"Guadeloupe", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana",
|
150
|
+
"Haiti", "Honduras", "Hong Kong", "Hungary",
|
151
|
+
"Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy",
|
152
|
+
"Jamaica", "Japan", "Jersey", "Jordan",
|
153
|
+
"Kazakhstan", "Kenya", "Kiribati", "Korea", "Korea", "Kuwait", "Kyrgyz Republic",
|
154
|
+
"Laos", "Latvia", "Lebanon", "Lesotho", "Liberia",
|
155
|
+
"Libya", "Liechtenstein", "Lithuania", "Luxembourg",
|
156
|
+
"Macao", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta",
|
157
|
+
"Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
|
158
|
+
"Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Myanmar",
|
159
|
+
"Namibia", "Nauru", "Nepal", "Netherlands Antilles", "Netherlands", "New Caledonia", "New Zealand",
|
160
|
+
"Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway",
|
161
|
+
"Oman",
|
162
|
+
"Pakistan", "Palau", "Palestinian Territory", "Panama", "Papua New Guinea", "Paraguay", "Peru",
|
163
|
+
"Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico",
|
164
|
+
"Qatar",
|
165
|
+
"Reunion", "Romania", "Russian Federation", "Rwanda",
|
166
|
+
"St. Barthelemy", "St. Helena", "St. Kitts and Nevis", "St. Lucia", "St. Martin",
|
167
|
+
"St. Pierre and Miquelon", "St. Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe",
|
168
|
+
"Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia",
|
169
|
+
"Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and South Sandwich Islands",
|
170
|
+
"Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard & Jan Mayen Islands", "Swaziland", "Sweden",
|
171
|
+
"Switzerland", "Syrian Arab Republic",
|
172
|
+
"Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga",
|
173
|
+
"Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu",
|
174
|
+
"Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States of America",
|
175
|
+
"US Minor Outlying Islands", "US Virgin Islands", "Uruguay", "Uzbekistan",
|
176
|
+
"Vanuatu", "Venezuela", "Vietnam",
|
177
|
+
"Wallis and Futuna", "Western Sahara",
|
178
|
+
"Yemen",
|
179
|
+
"Zambia", "Zimbabwe"]
|
127
180
|
end
|
128
181
|
end
|
data/lib/ffaker/address_au.rb
CHANGED
@@ -6,13 +6,11 @@ module Faker
|
|
6
6
|
extend ModuleUtils
|
7
7
|
extend self
|
8
8
|
|
9
|
-
def
|
9
|
+
def postcode(st_abbr = nil)
|
10
10
|
st_abbr ||= state_abbr
|
11
|
-
|
11
|
+
POSTCODE[st_abbr][rand(POSTCODE[st_abbr].size)]
|
12
12
|
end
|
13
13
|
|
14
|
-
alias :postcode :zip_code
|
15
|
-
|
16
14
|
def state
|
17
15
|
STATE.rand
|
18
16
|
end
|
@@ -21,63 +19,64 @@ module Faker
|
|
21
19
|
STATE_ABBR.rand
|
22
20
|
end
|
23
21
|
|
24
|
-
def
|
22
|
+
def suburb(st_abbr = nil)
|
25
23
|
st_abbr ||= state_abbr
|
26
|
-
|
24
|
+
SUBURB[st_abbr][rand(SUBURB[st_abbr].size)]
|
27
25
|
end
|
28
26
|
|
29
27
|
def full_address(st_abbr = nil)
|
30
28
|
st_abbr ||= state_abbr
|
31
|
-
"#{Faker::Address.street_address}, #{
|
29
|
+
"#{Faker::Address.street_address}, #{suburb(st_abbr)} #{st_abbr} #{postcode}"
|
32
30
|
end
|
33
31
|
|
34
|
-
ZIP_FORMATS = k ['####']
|
35
|
-
|
36
32
|
# based on areas labeled state (+act) here: http://en.wikipedia.org/wiki/States_and_territories_of_Australia
|
37
|
-
STATE = k ['Australian Capital Territory', 'New South Wales', 'Queensland',
|
33
|
+
STATE = k ['Australian Capital Territory', 'New South Wales', 'Queensland',
|
34
|
+
'South Australia', 'Tasmania', 'Victoria', 'Western Australia']
|
38
35
|
|
39
36
|
STATE_ABBR = k %w(ACT NSW NT QLD SA TAS VIC WA)
|
40
37
|
|
41
38
|
# based on http://en.wikipedia.org/wiki/List_of_cities_in_Australia
|
42
|
-
|
39
|
+
SUBURB = {
|
43
40
|
"ACT" => ["Canberra", "Ainslie", "Braddon", "O'Connor"],
|
44
|
-
"NSW" => ["Albury", "Armidale", "Bankstown", "Bathurst", "Blacktown",
|
45
|
-
"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
41
|
+
"NSW" => ["Albury", "Armidale", "Bankstown", "Bathurst", "Blacktown",
|
42
|
+
"Blue Mountains", "Botany Bay", "Broken Hill", "Campbelltown",
|
43
|
+
"Canada Bay", "Canterbury", "Cessnock", "Coffs Harbour", "Dubbo",
|
44
|
+
"Fairfield", "Gosford", "Goulburn", "Grafton", "Greater Taree", "Griffith",
|
45
|
+
"Hawkesbury", "Holroyd", "Hurstville", "Lake Macquarie", "Lismore", "Lithgow",
|
46
|
+
"Liverpool", "Maitland", "Newcastle", "Orange", "Parramatta", "Penrith",
|
47
|
+
"Queanbeyan", "Randwick", "Rockdale", "Ryde", "Shellharbour", "Shoalhaven",
|
49
48
|
"Sydney", "Tamworth", "Wagga Wagga", "Willoughby", "Wollongong"],
|
50
|
-
"NT" => ["Darwin","Palmerston"],
|
51
|
-
"QLD" => ["Brisbane", "Bundaberg", "Cairns", "Caloundra", "Charters Towers",
|
52
|
-
"
|
53
|
-
"
|
54
|
-
"
|
55
|
-
|
56
|
-
|
49
|
+
"NT" => ["Darwin", "Palmerston"],
|
50
|
+
"QLD" => ["Brisbane", "Bundaberg", "Cairns", "Caloundra", "Charters Towers",
|
51
|
+
"Gladstone", "Gold Coast", "Gympie", "Hervey Bay", "Ipswich", "Logan City",
|
52
|
+
"Mackay", "Maryborough", "Mount Isa", "Redcliffe City", "Redland City",
|
53
|
+
"Rockhampton", "Sunshine Coast", "Surfers Paradise", "Thuringowa",
|
54
|
+
"Toowoomba", "Townsville", "Warwick"],
|
55
|
+
"SA" => ["Adelaide", "Mount Barker", "Mount Gambier", "Murray Bridge",
|
56
|
+
"Port Adelaide", "Port Augusta", "Port Lincoln", "Port Pirie", "Victor Harbor",
|
57
|
+
"Whyalla"],
|
57
58
|
"TAS" => ["Burnie", "Clarence", "Devonport", "Glenorchy", "Hobart", "Launceston"],
|
58
|
-
"VIC" => ["Ararat", "Bairnsdale", "Ballarat", "Benalla", "Bendigo", "Dandenong",
|
59
|
-
"
|
60
|
-
"
|
61
|
-
|
62
|
-
|
63
|
-
"
|
59
|
+
"VIC" => ["Ararat", "Bairnsdale", "Ballarat", "Benalla", "Bendigo", "Dandenong",
|
60
|
+
"Frankston", "Geelong", "Hamilton", "Horsham", "Melbourne", "Melton", "Mildura",
|
61
|
+
"Moe", "Morwell", "Sale", "Shepparton", "Swan Hill", "Traralgon", "Wangaratta",
|
62
|
+
"Warrnambool", "Wodonga"],
|
63
|
+
"WA" => ["Albany", "Armadale", "Bayswater", "Bunbury", "Canning", "Cockburn",
|
64
|
+
"Fremantle", "Geraldton", "Gosnells", "Joondalup", "Kalgoorlie", "Mandurah",
|
65
|
+
"Melville", "Nedlands", "Perth", "Rockingham", "South Perth", "Stirling",
|
66
|
+
"Subiaco", "Swan", "Wanneroo"]
|
64
67
|
}
|
65
|
-
CITIES = CITY.keys.collect {|k| CITY[k]}.flatten.sort
|
66
68
|
|
67
69
|
# based on http://en.wikipedia.org/wiki/Postcodes_in_Australia
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
70
|
+
POSTCODE = {
|
71
|
+
'NSW' => [('1000'..'1999').to_a + ('2000'..'2599').to_a + ('2619'..'2898').to_a + ('2921'..'2999').to_a].flatten,
|
72
|
+
'ACT' => [('0200'..'0299').to_a + ('2600'..'2618').to_a + ('2900'..'2920').to_a].flatten,
|
73
|
+
'VIC' => [('3000'..'3999').to_a + ('8000'..'8999').to_a].flatten,
|
74
|
+
'QLD' => [('4000'..'4999').to_a + ('9000'..'9999').to_a].flatten,
|
75
|
+
'SA' => [('5000'..'5799').to_a + ('5800'..'5999').to_a].flatten,
|
76
|
+
'WA' => [('6000'..'6797').to_a + ('6800'..'6999').to_a].flatten,
|
77
|
+
'TAS' => [('7000'..'7799').to_a + ('7800'..'7999').to_a].flatten,
|
78
|
+
'NT' => [('0800'..'0899').to_a + ('0900'..'0999').to_a].flatten
|
77
79
|
}
|
78
|
-
ZIP_CODES = ZIP_CODE.keys.collect {|k| ZIP_CODE[k]}.flatten.sort
|
79
80
|
|
80
81
|
end
|
81
82
|
end
|
82
|
-
|
83
|
-
|