diff --git a/lib/faker/default/address.rb b/lib/faker/default/address.rb index b82fb49a7a..9fd5e6a03b 100644 --- a/lib/faker/default/address.rb +++ b/lib/faker/default/address.rb @@ -215,7 +215,10 @@ def state # # @faker.version 0.3.0 def country - fetch('address.country') + countries = fetch_all('address.countries') + @country = countries.sample(random: Faker::Config.random) + + @country[:name] end ## @@ -258,7 +261,8 @@ def country_name_to_code(name: 'united_states') # # @faker.version 1.4.0 def country_code - fetch('address.country_code') + return fetch("address.country_code") if @country.nil? + @country[:code] end ## diff --git a/lib/locales/en/address.yml b/lib/locales/en/address.yml index e1b48b3b2d..20f4a2103d 100644 --- a/lib/locales/en/address.yml +++ b/lib/locales/en/address.yml @@ -29,6 +29,380 @@ en: - haven - side - shire + countries: + - name: Afghanistan + code: AF + - name: Albania + code: AL + - name: Algeria + code: DZ + - name: American Samoa + code: AS + - name: Andorra + code: AD + - name: Angola + code: AO + - name: Anguilla + code: AI + - name: Antarctica (the territory South of 60 deg S) + code: AQ + - name: Antigua and Barbuda + code: AG + - name: Argentina + code: AR + - name: Armenia + code: AM + - name: Aruba + code: AW + - name: Australia + code: AU + - name: Austria + code: AT + - name: Azerbaijan + code: AZ + - name: Bahamas + code: BS + - name: Bahrain + code: BH + - name: Bangladesh + code: BD + - name: Barbados + code: BB + - name: Belarus + code: BY + - name: Belgium + code: BE + - name: Belize + code: BZ + - name: Benin + code: BJ + - name: Bermuda + code: BM + - name: Bhutan + code: BT + - name: Bolivia + code: BO + - name: Bosnia and Herzegovina + code: BA + - name: Botswana + code: BW + - name: Bouvet Island (Bouvetoya) + code: BV + - name: Brazil + code: BR + - name: British Indian Ocean Territory (Chagos Archipelago) + code: IO + - name: Brunei Darussalam + code: BN + - name: Bulgaria + code: BG + - name: Burkina Faso + code: BF + - name: Burundi + code: BI + - name: Cambodia + code: KH + - name: Cameroon + code: CM + - name: Canada + code: CA + - name: Cabo Verde + code: CV + - name: Cayman Islands + code: KY + - name: Central African Republic + code: CF + - name: Chad + code: TD + - name: Chile + code: CL + - name: China + code: CN + - name: Christmas Island + code: CX + - name: Cocos (Keeling) Islands + code: CC + - name: Colombia + code: CO + - name: Comoros + code: KM + - name: Congo + code: CG + - name: Cook Islands + code: CK + - name: Costa Rica + code: CR + - name: Côte d'Ivoire + code: CI + - name: Croatia + code: HR + - name: Cuba + code: CU + - name: Cyprus + code: CY + - name: Czech Republic + code: CZ + - name: Denmark + code: DK + - name: Djibouti + code: DJ + - name: Dominica + code: DM + - name: Dominican Republic + code: DO + - name: Ecuador + code: EC + - name: Egypt + code: EG + - name: El Salvador + code: SV + - name: Equatorial Guinea + code: GQ + - name: Eritrea + code: ER + - name: Estonia + code: EE + - name: Ethiopia + code: ET + - name: Faroe Islands + code: FO + - name: Falkland Islands (Malvinas) + code: FK + - name: Fiji + code: FJ + - name: Finland + code: FI + - name: France + code: FR + - name: French Guiana + code: GF + - name: French Polynesia + code: PF + - name: French Southern Territories + code: TF + - name: Gabon + code: GA + - name: Gambia + code: GM + - name: Georgia + code: GE + - name: Germany + code: DE + - name: Ghana + code: GH + - name: Gibraltar + code: GI + - name: Greece + code: GR + - name: Greenland + code: GL + - name: Grenada + code: GD + - name: Guadeloupe + code: GP + - name: Guam + code: GU + - name: Guatemala + code: GT + - name: Guernsey + code: GG + - name: Guinea + code: GN + - name: Guinea-Bissau + code: GW + - name: Guyana + code: GY + - name: Haiti + code: HT + - name: Heard Island and McDonald Islands + code: HM + - name: Holy See (Vatican City State) + code: VA + - name: Honduras + code: HN + - name: Hong Kong + code: HK + - name: Hungary + code: HU + - name: Iceland + code: IS + - name: India + code: IN + - name: Indonesia + code: ID + - name: Iran + code: IR + - name: Iraq + code: IQ + - name: Isle of Man + code: IM + - name: Israel + code: IL + - name: Italy + code: IT + - name: Jamaica + code: JM + - name: Japan + code: JP + - name: Jersey + code: JE + - name: Jordan + code: JO + - name: Kazakhstan + code: KZ + - name: Kenya + code: KE + - name: Kiribati + code: KI + - name: Democratic People's Republic of Korea + code: KP + - name: Republic of Korea + code: KR + - name: Kuwait + code: KW + - name: Kyrgyz Republic + code: KG + - name: Lao People's Democratic Republic + code: LA + - name: Latvia + code: LV + - name: Lebanon + code: LB + - name: Lesotho + code: LS + - name: Liberia + code: LR + - name: Libyan Arab Jamahiriya + code: LY + - name: Liechtenstein + code: LI + - name: Lithuania + code: LT + - name: Luxembourg + code: LU + - name: Macao + code: MO + - name: North Macedonia + code: MK + - name: Madagascar + code: MG + - name: Malawi + code: MW + - name: Malaysia + code: MY + - name: Maldives + code: MV + - name: Mali + code: ML + - name: Malta + code: MT + - name: Marshall Islands + code: MH + - name: Martinique + code: MQ + - name: Mauritania + code: MR + - name: Mauritius + code: MU + - name: Mayotte + code: YT + - name: Mexico + code: MX + - name: Micronesia + code: FM + - name: Moldova + code: MD + - name: Monaco + code: MC + - name: Mongolia + code: MN + - name: Montenegro + code: ME + - name: Montserrat + code: MS + - name: Morocco + code: MA + - name: Mozambique + code: MZ + - name: Myanmar + code: MM + - name: Namibia + code: NA + - name: Nauru + code: NR + - name: Nepal + code: NP + - name: Netherlands Antilles + code: AN + - name: Netherlands + code: NL + - name: New Caledonia + code: NC + - name: New Zealand + code: NZ + - name: Nicaragua + code: NI + - name: Niger + code: NE + - name: Nigeria + code: NG + - name: Niue + code: NU + - name: Norfolk Island + code: NF + - name: Northern Mariana Islands + code: MP + - name: Norway + code: NO + - name: Oman + code: OM + - name: Pakistan + code: PK + - name: Palau + code: PW + - name: Palestinian Territory + code: PS + - name: Panama + code: PA + - name: Papua New Guinea + code: PG + - name: Paraguay + code: PY + - name: Peru + code: PE + - name: Philippines + code: PH + - name: Pitcairn Islands + code: PN + - name: Poland + code: PL + - name: Portugal + code: PT + - name: Puerto Rico + code: PR + - name: Qatar + code: QA + - name: Reunion + code: RE + - name: Romania + code: RO + - name: Russian Federation + code: RU + - name: Rwanda + code: RW + - name: Saint Barthelemy + code: BL + - name: Saint Helena + code: SH + - name: Saint Kitts and Nevis + code: KN + - name: Saint Lucia + code: LC + - name: Saint Martin + code: MF + - name: Saint Pierre and Miquelon + code: PM + - name: Saint Vincent country: - Afghanistan - Albania