for those whom it may concern, I created a simple ruby gem called
“city-state” that returns a list of states in a country and also a list
of
cities/towns in a state. It simple like that:
CS.states(:us)
=> {:AK=>“Alaska”, :AL=>“Alabama”, :AR=>“Arkansas”, :AZ=>“Arizona”,
:CA=>“California”, :CO=>“Colorado”, :CT=>“Connecticut”, :DC=>“District
of
Columbia”, :DE=>“Delaware”, :FL=>“Florida”, :GA=>“Georgia”,
:HI=>“Hawaii”,
:IA=>“Iowa”, :ID=>“Idaho”, :IL=>“Illinois”, :IN=>“Indiana”,
:KS=>“Kansas”,
:KY=>“Kentucky”, :LA=>“Louisiana”, :MA=>“Massachusetts”,
:MD=>“Maryland”,
:ME=>“Maine”, :MI=>“Michigan”, :MN=>“Minnesota”, :MO=>“Missouri”,
:MS=>“Mississippi”, :MT=>“Montana”, :NC=>“North Carolina”, :ND=>“North
Dakota”, :NE=>“Nebraska”, :NH=>“New Hampshire”, :NJ=>“New Jersey”,
:NM=>“New Mexico”, :NV=>“Nevada”, :NY=>“New York”, :OH=>“Ohio”,
:OK=>“Oklahoma”, :OR=>“Oregon”, :PA=>“Pennsylvania”, :RI=>“Rhode
Island”,
:SC=>“South Carolina”, :SD=>“South Dakota”, :TN=>“Tennessee”,
:TX=>“Texas”,
:UT=>“Utah”, :VA=>“Virginia”, :VT=>“Vermont”, :WA=>“Washington”,
:WI=>“Wisconsin”, :WV=>“West Virginia”, :WY=>“Wyoming”}
CS.cities(:ak, :us)
=> [“Adak”, “Akhiok”, “Akiachak”, “Akiak”, “Akutan”, “Alakanuk”,
“Ambler”, “Anchor Point”, “Anchorage”, “Angoon”, “Atqasuk”, “Barrow”,
“Bell
Island Hot Springs”, “Bethel”, “Big Lake”, “Buckland”, “Chefornak”,
“Chevak”, “Chicken”, “Chugiak”, “Coffman Cove”, “Cooper Landing”,
“Copper
Center”, “Cordova”, “Craig”, “Deltana”, “Dillingham”, “Douglas”, “Dutch
Harbor”, “Eagle River”, “Eielson Air Force Base”, “Fairbanks”,
“Fairbanks
North Star Borough”, “Fort Greely”, “Fort Richardson”, “Galena”,
“Girdwood”, “Goodnews Bay”, “Haines”, “Homer”, “Hooper Bay”, “Juneau”,
“Kake”, “Kaktovik”, “Kalskag”, “Kenai”, “Ketchikan”, “Kiana”, “King
Cove”,
“King Salmon”, “Kipnuk”, “Klawock”, “Kodiak”, “Kongiganak”, “Kotlik”,
“Koyuk”, “Kwethluk”, “Levelock”, “Manokotak”, “May Creek”, “Mekoryuk”,
“Metlakatla”, “Mountain Village”, “Nabesna”, “Naknek”, “Nazan Village”,
“Nenana”, “New Stuyahok”, “Nikiski”, “Ninilchik”, “Noatak”, “Nome”,
“Nondalton”, “Noorvik”, “North Pole”, “Northway”, “Old Kotzebue”,
“Palmer”,
“Pedro Bay”, “Petersburg”, “Pilot Station”, “Point Hope”, “Point Lay”,
“Prudhoe Bay”, “Russian Mission”, “Sand Point”, “Scammon Bay”,
“Selawik”,
“Seward”, “Shungnak”, “Sitka”, “Skaguay”, “Soldotna”, “Stebbins”,
“Sterling”, “Sutton”, “Talkeetna”, “Teller”, “Thorne Bay”, “Togiak”,
“Tok”,
“Toksook Bay”, “Tuntutuliak”, “Two Rivers”, “Unalakleet”, “Unalaska”,
“Valdez”, “Wainwright”, “Wasilla”]
It works with every country of the world and can be easily updated with
a
CS.update
command.
I know this is a ridiculously simple, but:
- IDK in another countries, but in mine, it’s common to ask to the
users
this type of information in forms - I never find a gem that do this, so I have to hardcode a list of
states
every time that I need for a project
If you find a bug you can notify me in the page of the project:
Thanks for the attention.