Module: RandomDataDespegar::Locations
- Included in:
- Random
- Defined in:
- lib/random_data_despegar/locations.rb
Overview
Defines methods to return random location data.
Constant Summary collapse
- @@streetnames =
trees + people + places + numbers
- @@street_types =
%w(St Ave Rd Blvd Trl Ter Rdg Pl Pkwy Ct Circle)- @@line2types =
["Apt", "Bsmt", "Bldg", "Dept", "Fl", "Frnt", "Hngr", "Lbby", "Lot", "Lowr", "Ofc", "Ph", "Pier", "Rear", "Rm", "Side", "Slip", "Spc", "Stop", "Ste", "Trlr", "Unit", "Uppr"]
- @@us_states =
from technoweenie: svn.techno-weenie.net/projects/plugins/us_states/lib/us_states.rb
[["Alaska", "AK"], ["Alabama", "AL"], ["Arkansas", "AR"], ["Arizona", "AZ"], ["California", "CA"], ["Colorado", "CO"], ["Connecticut", "CT"], ["District of Columbia", "DC"], ["Delaware", "DE"], ["Florida", "FL"], ["Georgia", "GA"], ["Hawaii", "HI"], ["Iowa", "IA"], ["Idaho", "ID"], ["Illinois", "IL"], ["Indiana", "IN"], ["Kansas", "KS"], ["Kentucky", "KY"], ["Louisiana", "LA"], ["Massachusetts", "MA"], ["Maryland", "MD"], ["Maine", "ME"], ["Michigan", "MI"], ["Minnesota", "MN"], ["Missouri", "MO"], ["Mississippi", "MS"], ["Montana", "MT"], ["North Carolina", "NC"], ["North Dakota", "ND"], ["Nebraska", "NE"], ["New Hampshire", "NH"], ["New Jersey", "NJ"], ["New Mexico", "NM"], ["Nevada", "NV"], ["New York", "NY"], ["Ohio", "OH"], ["Oklahoma", "OK"], ["Oregon", "OR"], ["Pennsylvania", "PA"], ["Rhode Island", "RI"], ["South Carolina", "SC"], ["South Dakota", "SD"], ["Tennessee", "TN"], ["Texas", "TX"], ["Utah", "UT"], ["Virginia", "VA"], ["Vermont", "VT"], ["Washington", "WA"], ["Wisconsin", "WI"], ["West Virginia", "WV"], ["Wyoming", "WY"]]
- @@countries =
["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas, The", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Channel Islands", "Chile", "China", "Colombia", "Comoros", "Congo, Dem. Rep.", "Congo, Rep.", "Costa Rica", "Côte d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt, Arab Rep.", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Faeroe Islands", "Fiji", "Finland", "France", "French Polynesia", "Gabon", "Gambia, The", "Georgia", "Germany", "Ghana", "Greece", "Greenland", "Grenada", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hong Kong, China", "Hungary", "Iceland", "India", "Indonesia", "Iran, Islamic Rep.", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Dem. Rep.", "Korea, Rep.", "Kuwait", "Kyrgyz Republic", "Lao PDR", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao, China", "Macedonia, FYR", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Fed. Sts.", "Moldova", "Monaco", "Mongolia", "Montenegro", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Puerto Rico", "Qatar", "Romania", "Russian Federation", "Rwanda", "Samoa", "San Marino", "São Tomé and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovak Republic", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "Spain", "Sri Lanka", "St. Kitts and Nevis", "St. Lucia", "St. Vincent and the Grenadines", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela, RB", "Vietnam", "Virgin Islands (U.S.)", "West Bank and Gaza", "Yemen, Rep.", "Zambia", "Zimbabwe"]
- @@cities =
%w(Midway Mount\ Pleasant Greenwood Franklin Oak Grove Centerville Salem Georgetown Fairview Riverside Rotorua Tauranga Whakatane Taupo Wanganui Nababeep Aggeneys Pofadder Polokwane Bela Bela Goukamma Karatara Tswane Prieska Upington Hoopstad Bultfontein Wesselsbron Bothaville Trompsburg Henneman Musina Ogies Kgatlahong Tembisa Tekoza Sebokeng Muntaung Umnkomaaz)
Instance Method Summary collapse
-
#address_line_1 ⇒ Object
(also: #us_address_line_1)
Returns the first line of a US maiiling address (street number, street name, street type).
-
#address_line_2 ⇒ Object
Returns the first line of a US maiiling address (street number, street name, street type).
-
#cep ⇒ Object
Returns brazilian cep.
-
#city ⇒ Object
Returns a generic city name, with an attempt to have some internationl appeal.
-
#country ⇒ Object
Returns a country name, as listed by the World Bank.
-
#cpnj ⇒ Object
Returns brazilian cpnj.
-
#state_code ⇒ Object
Returns a state 2-character abbreviation Random.state_code = “IL”.
-
#state_full ⇒ Object
Returns a full state name Random.state_full = “Texas”.
-
#uk_post_code ⇒ Object
Returns a string providing something in the general form of a UK post code.
-
#zipcode ⇒ Object
Returns a random 5-digit string, not guaranteed to be a legitimate zip code.
Instance Method Details
#address_line_1 ⇒ Object Also known as: us_address_line_1
Returns the first line of a US maiiling address (street number, street name, street type)
Example:
Random.address_line_1 = “24317 Jefferson Blvd”
27 28 29 |
# File 'lib/random_data_despegar/locations.rb', line 27 def address_line_1 "#{rand(40000)} #{@@streetnames.rand} #{@@street_types.rand}" end |
#address_line_2 ⇒ Object
Returns the first line of a US maiiling address (street number, street name, street type)
Example:
Random.address_line_1 = “24317 Jefferson Blvd”
41 42 43 |
# File 'lib/random_data_despegar/locations.rb', line 41 def address_line_2 "#{@@line2types.rand} #{rand(999)}" end |
#cep ⇒ Object
Returns brazilian cep
53 54 55 |
# File 'lib/random_data_despegar/locations.rb', line 53 def cep %w{13301611 49085120 64205250 68040692}.sample end |
#city ⇒ Object
Returns a generic city name, with an attempt to have some internationl appeal
Random.city = “Tekoza”
139 140 141 |
# File 'lib/random_data_despegar/locations.rb', line 139 def city @@cities.rand end |
#country ⇒ Object
Returns a country name, as listed by the World Bank
Random.country = “Kenya”
127 128 129 |
# File 'lib/random_data_despegar/locations.rb', line 127 def country @@countries.rand end |
#cpnj ⇒ Object
Returns brazilian cpnj
58 59 60 |
# File 'lib/random_data_despegar/locations.rb', line 58 def cpnj %w{60173083000142 29829357000169 46663579000173 65645108000187 99572792000136}.sample end |
#state_code ⇒ Object
Returns a state 2-character abbreviation Random.state_code = “IL”
92 93 94 |
# File 'lib/random_data_despegar/locations.rb', line 92 def state_code @@us_states.rand[1] end |
#state_full ⇒ Object
Returns a full state name Random.state_full = “Texas”
99 100 101 |
# File 'lib/random_data_despegar/locations.rb', line 99 def state_full @@us_states.rand[0] end |
#uk_post_code ⇒ Object
Returns a string providing something in the general form of a UK post code. Like the zip codes, this might not actually be valid. Doesn’t cover London whose codes are like “SE1”.
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/random_data_despegar/locations.rb', line 65 def uk_post_code post_towns = %w(BM CB CV LE LI LS KT MK NE OX PL YO) # Can't remember any othes at the moment number_1 = rand(100).to_s number_2 = rand(100).to_s # Easier way to do this? letters = ("AA".."ZZ").to_a.rand return "#{post_towns.rand}#{number_1} #{number_2}#{letters}" end |
#zipcode ⇒ Object
Returns a random 5-digit string, not guaranteed to be a legitimate zip code. Legal zip codes can have leading zeroes and thus they need to be strings.
48 49 50 |
# File 'lib/random_data_despegar/locations.rb', line 48 def zipcode "%05d" % rand(99999) end |