Last active
August 29, 2015 14:15
-
-
Save we4tech/95e143103a349df14684 to your computer and use it in GitHub Desktop.
Countries with states
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class State | |
STATES = { | |
'US' => { | |
'AL' => 'Alabama', | |
'AK' => 'Alaska', | |
'AZ' => 'Arizona', | |
'AR' => 'Arkansas', | |
'CA' => 'California', | |
'CO' => 'Colorado', | |
'CT' => 'Connecticut', | |
'DE' => 'Delaware', | |
'DC' => 'District of Columbia', | |
'FL' => 'Florida', | |
'GA' => 'Georgia', | |
'HI' => 'Hawaii', | |
'ID' => 'Idaho', | |
'IL' => 'Illinois', | |
'IN' => 'Indiana', | |
'IA' => 'Iowa', | |
'KS' => 'Kansas', | |
'KY' => 'Kentucky', | |
'LA' => 'Louisiana', | |
'ME' => 'Maine', | |
'MD' => 'Maryland', | |
'MA' => 'Massachusetts', | |
'MI' => 'Michigan', | |
'MN' => 'Minnesota', | |
'MS' => 'Mississippi', | |
'MO' => 'Missouri', | |
'MT' => 'Montana', | |
'NE' => 'Nebraska', | |
'NV' => 'Nevada', | |
'NH' => 'New Hampshire', | |
'NJ' => 'New Jersey', | |
'NM' => 'New Mexico', | |
'NY' => 'New York', | |
'NC' => 'North Carolina', | |
'ND' => 'North Dakota', | |
'OH' => 'Ohio', | |
'OK' => 'Oklahoma', | |
'OR' => 'Oregon', | |
'PA' => 'Pennsylvania', | |
'PR' => 'Puerto Rico', | |
'RI' => 'Rhode Island', | |
'SC' => 'South Carolina', | |
'SD' => 'South Dakota', | |
'TN' => 'Tennessee', | |
'TX' => 'Texas', | |
'UT' => 'Utah', | |
'VT' => 'Vermont', | |
'VA' => 'Virginia', | |
'WA' => 'Washington', | |
'WV' => 'West Virginia', | |
'WI' => 'Wisconsin', | |
'WY' => 'Wyoming' | |
}, | |
'CA' => { | |
'AB' => 'Alberta', | |
'BC' => 'British Columbia', | |
'MB' => 'Manitoba', | |
'NB' => 'New Brunswick', | |
'NF' => 'Newfoundland', | |
'NT' => 'Northwest Territories', | |
'NS' => 'Nova Scotia', | |
'NU' => 'Nunavut', | |
'ON' => 'Ontario', | |
'PE' => 'Prince Edward Island', | |
'PQ' => 'Quebec', | |
'SK' => 'Saskatchewan', | |
'YT' => 'Yukon' | |
}, | |
'MX' => { | |
'AG' => 'Aguascalientes', | |
'BJ' => 'Baja California', | |
'BS' => 'Baja California Sur', | |
'CP' => 'Campeche', | |
'CH' => 'Chiapas', | |
'CI' => 'Chihuahua', | |
'CU' => 'Coahuila de Zaragoza', | |
'CL' => 'Colima', | |
'DF' => 'Distrito Federal', | |
'DG' => 'Durango', | |
'EM' => 'Estado Mexico', | |
'GJ' => 'Guanajuato', | |
'GR' => 'Guerrero', | |
'HG' => 'Hidalgo', 'JA' => 'Jalisco', | |
'MX' => 'Mexico', 'MH' => 'Michoacan', | |
'MR' => 'Morelos', 'NA' => 'Nayarit', | |
'NL' => 'Nuevo Leon', 'OA' => 'Oaxaca', | |
'PU' => 'Puebla', 'QA' => 'Queretaro', 'QR' => 'Quintana Roo', 'SL' => 'San Luis Potosi', | |
'SI' => 'Sinaloa', 'SO' => 'Sonora', 'TA' => 'Tabasco', 'TM' => 'Tamaulipas', | |
'TL' => 'Tlaxca' | |
}, | |
'BR' => { | |
'de' => "State or Province2-digit Co", 'AC' => 'Acre', 'AL' => 'Alagoas', 'AP' => 'Amapa', 'AM' => 'Amazonas', 'BA' => 'Bahia', 'CE' => 'Ceara', 'DF' => 'Distrito Federal', 'ES' => 'Espirito Santo', 'GO' => 'Goias', 'MA' => 'Maranhao', 'MT' => 'Mato Grosso', 'MS' => 'Mato Grosso do Sul', 'MG' => 'Minas Gerais', 'PA' => 'Para', 'PB' => 'Paraiba', 'PR' => 'Parana', 'PE' => 'Pernambuco', 'PI' => 'Piaui', 'RN' => 'Rio Grande do Norte', 'RS' => 'Rio Grande do Sul', 'RJ' => 'Rio de Janeiro', 'RO' => 'Rondonia', 'RR' => 'Roraima', 'SC' => 'Santa Catarina', 'SP' => 'Sao Paulo', 'SE' => 'Sergipe', 'TO' => 'Tocantins' | |
}, | |
'AU' => { | |
'CT' => 'Australian Capital Territory', 'NS' => 'New South Wales', 'NT' => 'Northern Territory', 'QL' => 'Queensland', 'SA' => 'South Australia', 'TS' => 'Tasmania', 'VI' => 'Victoria', 'WA' => 'Western Australia' | |
} | |
} | |
class << self | |
def state?(country_code) | |
STATES.include?(country_code.upcase) | |
end | |
def states(country_code) | |
STATES[country_code.upcase] || {} | |
end | |
def state_name(country_code, state_code) | |
(STATES[country_code.upcase] || {})[state_code.upcase] | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment