Created
March 20, 2010 00:38
-
-
Save postmodern/338364 to your computer and use it in GitHub Desktop.
A DataMapper model for representing Countries.
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
require 'dm-core' | |
require 'dm-validations' | |
require 'dm-predefined' | |
class Country | |
include DataMapper::Resource | |
include DataMapper::Migrations | |
include DataMapper::Predefined | |
# The primary key of the Country | |
property :id, Serial | |
# The name of the Country | |
property :name, String, :required => true, :unique => true | |
# The ISO 3166-1993 Country Code | |
property :code, String, :length => 2, :unique => true | |
predefine :PA, :name => "Panama", :code => "PA" | |
predefine :TV, :name => "Tuvalu", :code => "TV" | |
predefine :BO, :name => "Bolivia", :code => "BO" | |
predefine :NU, :name => "Niue", :code => "NU" | |
predefine :AD, :name => "Andorra", :code => "AD" | |
predefine :LB, :name => "Lebanon", :code => "LB" | |
predefine :YU, :name => "Yugoslavia", :code => "YU" | |
predefine :MW, :name => "Malawi", :code => "MW" | |
predefine :PT, :name => "Portugal", :code => "PT" | |
predefine :MH, :name => "Marshall Islands", :code => "MH" | |
predefine :BR, :name => "Brazil", :code => "BR" | |
predefine :ET, :name => "Ethiopia", :code => "ET" | |
predefine :TW, :name => "Taiwan", :code => "TW" | |
predefine :BD, :name => "Bangladesh", :code => "BD" | |
predefine :FK, :name => "Malvinas", :code => "FK" | |
predefine :DO, :name => "Dominican Republic", :code => "DO" | |
predefine :HN, :name => "Honduras", :code => "HN" | |
predefine :BE, :name => "Belgium", :code => "BE" | |
predefine :AM, :name => "Armenia", :code => "AM" | |
predefine :PW, :name => "Palau", :code => "PW" | |
predefine :KH, :name => "Cambodia", :code => "KH" | |
predefine :BS, :name => "Bahama", :code => "BS" | |
predefine :AN, :name => "Netherlands Antilles", :code => "AN" | |
predefine :CN, :name => "China", :code => "CN" | |
predefine :LY, :name => "Libyan Arab Jamahiriya", :code => "LY" | |
predefine :PR, :name => "Puerto Rico", :code => "PR" | |
predefine :EG, :name => "Egypt", :code => "EG" | |
predefine :BU, :name => "Burma", :code => "BU" | |
predefine :LT, :name => "Lithuania", :code => "LT" | |
predefine :BJ, :name => "Benin", :code => "BJ" | |
predefine :MP, :name => "Northern Mariana Islands", :code => "MP" | |
predefine :GE, :name => "Georgia", :code => "GE" | |
predefine :OM, :name => "Oman", :code => "OM" | |
predefine :AZ, :name => "Azerbaijan", :code => "AZ" | |
predefine :CI, :name => "Ivory Coast", :code => "CI" | |
predefine :VA, :name => "Vatican City State", :code => "VA" | |
predefine :AS, :name => "American Samoa", :code => "AS" | |
predefine :ST, :name => "Sao Tome", :code => "ST" | |
predefine :DJ, :name => "Djibouti", :code => "DJ" | |
predefine :KI, :name => "Kiribati", :code => "KI" | |
predefine :SY, :name => "Syrian Arab Republic", :code => "SY" | |
predefine :KN, :name => "St Kittsand Nevis", :code => "KN" | |
predefine :GB, :name => "Great Britain", :code => "GB" | |
predefine :LI, :name => "Liechtenstein", :code => "LI" | |
predefine :VE, :name => "Venezuela", :code => "VE" | |
predefine :NF, :name => "Norfolk Island", :code => "NF" | |
predefine :LR, :name => "Liberia", :code => "LR" | |
predefine :NP, :name => "Nepal", :code => "NP" | |
predefine :SN, :name => "Senegal", :code => "SN" | |
predefine :IE, :name => "Ireland", :code => "IE" | |
predefine :IR, :name => "Islamic Republic of Iran", :code => "IR" | |
predefine :SA, :name => "Saudi Arabia", :code => "SA" | |
predefine :MM, :name => "Myanmar", :code => "MM" | |
predefine :FO, :name => "Faroe Islands", :code => "FO" | |
predefine :SL, :name => "Sierra Leone", :code => "SL" | |
predefine :MD, :name => "Moldova", :code => "MD" | |
predefine :HT, :name => "Haiti", :code => "HT" | |
predefine :RE, :name => "Reunion", :code => "RE" | |
predefine :NI, :name => "Nicaragua", :code => "NI" | |
predefine :ZW, :name => "Zimbabwe", :code => "ZW" | |
predefine :NL, :name => "Netherlands", :code => "NL" | |
predefine :GH, :name => "Ghana", :code => "GH" | |
predefine :CC, :name => "Cocos Islands", :code => "CC" | |
predefine :SZ, :name => "Swaziland", :code => "SZ" | |
predefine :EE, :name => "Estonia", :code => "EE" | |
predefine :LS, :name => "Lesotho", :code => "LS" | |
predefine :RW, :name => "Rwanda", :code => "RW" | |
predefine :NA, :name => "Namibia", :code => "NA" | |
predefine :IQ, :name => "Iraq", :code => "IQ" | |
predefine :KM, :name => "Comoros", :code => "KM" | |
predefine :CX, :name => "Christmas Island", :code => "CX" | |
predefine :RO, :name => "Romania", :code => "RO" | |
predefine :SJ, :name => "Svalbard Jan Mayen Islands", :code => "SJ" | |
predefine :GD, :name => "Grenada", :code => "GD" | |
predefine :BZ, :name => "Belize", :code => "BZ" | |
predefine :GN, :name => "Guinea", :code => "GN" | |
predefine :VU, :name => "Vanuatu", :code => "VU" | |
predefine :ZM, :name => "Zambia", :code => "ZM" | |
predefine :PN, :name => "Pitcairn", :code => "PN" | |
predefine :CL, :name => "Chile", :code => "CL" | |
predefine :AO, :name => "Angola", :code => "AO" | |
predefine :MZ, :name => "Mozambique", :code => "MZ" | |
predefine :TC, :name => "Turks Caicos Islands", :code => "TC" | |
predefine :YE, :name => "Yemen", :code => "YE" | |
predefine :CF, :name => "Central African Republic", :code => "CF" | |
predefine :TJ, :name => "Tajikistan", :code => "TJ" | |
predefine :AU, :name => "Australia", :code => "AU" | |
predefine :DM, :name => "Dominica", :code => "DM" | |
predefine :ES, :name => "Spain", :code => "ES" | |
predefine :PH, :name => "Philippines", :code => "PH" | |
predefine :CM, :name => "Cameroon", :code => "CM" | |
predefine :TP, :name => "East Timor", :code => "TP" | |
predefine :TF, :name => "French Southern Territories", :code => "TF" | |
predefine :NE, :name => "Niger", :code => "NE" | |
predefine :WS, :name => "Samoa", :code => "WS" | |
predefine :MA, :name => "Morocco", :code => "MA" | |
predefine :SK, :name => "Slovakia", :code => "SK" | |
predefine :RU, :name => "Russian Federation", :code => "RU" | |
predefine :CK, :name => "Cook Iislands", :code => "CK" | |
predefine :KE, :name => "Kenya", :code => "KE" | |
predefine :TO, :name => "Tonga", :code => "TO" | |
predefine :BF, :name => "Burkina Faso", :code => "BF" | |
predefine :MS, :name => "Monserrat", :code => "MS" | |
predefine :IT, :name => "Italy", :code => "IT" | |
predefine :NR, :name => "Nauru", :code => "NR" | |
predefine :GF, :name => "French Guiana", :code => "GF" | |
predefine :UG, :name => "Uganda", :code => "UG" | |
predefine :MU, :name => "Mauritius", :code => "MU" | |
predefine :GM, :name => "Gambia", :code => "GM" | |
predefine :KZ, :name => "Kazakhstan", :code => "KZ" | |
predefine :JP, :name => "Japan", :code => "JP" | |
predefine :BB, :name => "Barbados", :code => "BB" | |
predefine :GY, :name => "Guyana", :code => "GY" | |
predefine :CZ, :name => "Czech Republic", :code => "CZ" | |
predefine :UA, :name => "Ukraine", :code => "UA" | |
predefine :BI, :name => "Burundi", :code => "BI" | |
predefine :GT, :name => "Guatemala", :code => "GT" | |
predefine :SE, :name => "Sweden", :code => "SE" | |
predefine :LA, :name => "Lao", :code => "LA" | |
predefine :BV, :name => "Bouvet Island", :code => "BV" | |
predefine :IL, :name => "Israel", :code => "IL" | |
predefine :AL, :name => "Albania", :code => "AL" | |
predefine :WF, :name => "Wallis Futuna Islands", :code => "WF" | |
predefine :AR, :name => "Argentina", :code => "AR" | |
predefine :GS, :name => "South Georgia and the South Sandwich Islands", :code => "GS" | |
predefine :JM, :name => "Jamaica", :code => "JM" | |
predefine :LU, :name => "Luxembourg", :code => "LU" | |
predefine :PF, :name => "French Polynesia", :code => "PF" | |
predefine :PK, :name => "Pakistan", :code => "PK" | |
predefine :IO, :name => "British Indian Ocean Territory", :code => "IO" | |
predefine :CG, :name => "Congo", :code => "CG" | |
predefine :BY, :name => "Belarus", :code => "BY" | |
predefine :TH, :name => "Thailand", :code => "TH" | |
predefine :BN, :name => "Brunei Darussalam", :code => "BN" | |
predefine :IS, :name => "Iceland", :code => "IS" | |
predefine :DK, :name => "Denmark", :code => "DK" | |
predefine :FI, :name => "Finland", :code => "FI" | |
predefine :AG, :name => "Antigua Barbuda", :code => "AG" | |
predefine :GU, :name => "Guam", :code => "GU" | |
predefine :KG, :name => "Kyrgyzstan", :code => "KG" | |
predefine :TM, :name => "Turkmenistan", :code => "TM" | |
predefine :ZR, :name => "Zaire", :code => "ZR" | |
predefine :EH, :name => "Western Sahara", :code => "EH" | |
predefine :PM, :name => "St Pierre Miquelon", :code => "PM" | |
predefine :QA, :name => "Qatar", :code => "QA" | |
predefine :GR, :name => "Greece", :code => "GR" | |
predefine :MC, :name => "Monaco", :code => "MC" | |
predefine :GQ, :name => "Equatorial Guinea", :code => "GQ" | |
predefine :NG, :name => "Nigeria", :code => "NG" | |
predefine :SH, :name => "St Helena", :code => "SH" | |
predefine :PG, :name => "Papua New Guinea", :code => "PG" | |
predefine :AI, :name => "Anguilla", :code => "AI" | |
predefine :CH, :name => "Switzerland", :code => "CH" | |
predefine :MY, :name => "Malaysia", :code => "MY" | |
predefine :ZZ, :name => "Unknownorunspecifiedcountry", :code => "ZZ" | |
predefine :SV, :name => "El Salvador", :code => "SV" | |
predefine :BH, :name => "Bahrain", :code => "BH" | |
predefine :TT, :name => "Trinidad Tobago", :code => "TT" | |
predefine :TK, :name => "Tokelau", :code => "TK" | |
predefine :KR, :name => "Korea", :code => "KR" | |
predefine :FX, :name => "France Metropolitan", :code => "FX" | |
predefine :BG, :name => "Bulgaria", :code => "BG" | |
predefine :UY, :name => "Uruguay", :code => "UY" | |
predefine :CS, :name => "Czechoslovakia", :code => "CS" | |
predefine :MN, :name => "Mongolia", :code => "MN" | |
predefine :MX, :name => "Mexico", :code => "MX" | |
predefine :MR, :name => "Mauritania", :code => "MR" | |
predefine :PE, :name => "Peru", :code => "PE" | |
predefine :CV, :name => "Cape Verde", :code => "CV" | |
predefine :VN, :name => "Viet Nam", :code => "VN" | |
predefine :BM, :name => "Bermuda", :code => "BM" | |
predefine :KW, :name => "Kuwait", :code => "KW" | |
predefine :FM, :name => "Micronesia", :code => "FM" | |
predefine :MQ, :name => "Martinique", :code => "MQ" | |
predefine :AQ, :name => "Antarctica", :code => "AQ" | |
predefine :LK, :name => "Sri Lanka", :code => "LK" | |
predefine :AT, :name => "Austria", :code => "AT" | |
predefine :ML, :name => "Mali", :code => "ML" | |
predefine :TN, :name => "Tunisia", :code => "TN" | |
predefine :JO, :name => "Jordan", :code => "JO" | |
predefine :PY, :name => "Paraguay", :code => "PY" | |
predefine :TD, :name => "Chad", :code => "TD" | |
predefine :IN, :name => "India", :code => "IN" | |
predefine :VG, :name => "British Virgin Islands", :code => "VG" | |
predefine :MV, :name => "Maldives", :code => "MV" | |
predefine :MT, :name => "Malta", :code => "MT" | |
predefine :NC, :name => "New Caledonia", :code => "NC" | |
predefine :YT, :name => "Mayotte", :code => "YT" | |
predefine :UM, :name => "United States Minor Outlying Islands", :code => "UM" | |
predefine :BW, :name => "Botswana", :code => "BW" | |
predefine :NO, :name => "Norway", :code => "NO" | |
predefine :ER, :name => "Eritrea", :code => "ER" | |
predefine :ID, :name => "Indonesia", :code => "ID" | |
predefine :US, :name => "United States of America", :code => "US" | |
predefine :HK, :name => "Hong Kong", :code => "HK" | |
predefine :ZA, :name => "South Africa", :code => "ZA" | |
predefine :GW, :name => "Guinea Bissau", :code => "GW" | |
predefine :FJ, :name => "Fiji", :code => "FJ" | |
predefine :HR, :name => "Croatia", :code => "HR" | |
predefine :CA, :name => "Canada", :code => "CA" | |
predefine :SR, :name => "Suriname", :code => "SR" | |
predefine :GP, :name => "Guadeloupe", :code => "GP" | |
predefine :UZ, :name => "Uzbekistan", :code => "UZ" | |
predefine :DE, :name => "Germany", :code => "DE" | |
predefine :MG, :name => "Madagascar", :code => "MG" | |
predefine :HU, :name => "Hungary", :code => "HU" | |
predefine :SI, :name => "Slovenia", :code => "SI" | |
predefine :TG, :name => "Togo", :code => "TG" | |
predefine :CY, :name => "Cyprus", :code => "CY" | |
predefine :CR, :name => "Costa Rica", :code => "CR" | |
predefine :VI, :name => "United States Virgin Islands", :code => "VI" | |
predefine :GL, :name => "Greenland", :code => "GL" | |
predefine :CO, :name => "Colombia", :code => "CO" | |
predefine :SG, :name => "Singapore", :code => "SG" | |
predefine :SO, :name => "Somalia", :code => "SO" | |
predefine :LC, :name => "Saint Lucia", :code => "LC" | |
predefine :CU, :name => "Cuba", :code => "CU" | |
predefine :DZ, :name => "Algeria", :code => "DZ" | |
predefine :SM, :name => "San Marino", :code => "SM" | |
predefine :TZ, :name => "Tanzania", :code => "TZ" | |
predefine :GA, :name => "Gabon", :code => "GA" | |
predefine :GI, :name => "Gibraltar", :code => "GI" | |
predefine :EC, :name => "Ecuador", :code => "EC" | |
predefine :BA, :name => "Bosniaand Herzegovina", :code => "BA" | |
predefine :AF, :name => "Afghanistan", :code => "AF" | |
predefine :HM, :name => "Heard Mc Donald Islands", :code => "HM" | |
predefine :LV, :name => "Latvia", :code => "LV" | |
predefine :NZ, :name => "New Zealand", :code => "NZ" | |
predefine :FR, :name => "France", :code => "FR" | |
predefine :AW, :name => "Aruba", :code => "AW" | |
predefine :KY, :name => "Cayman Islands", :code => "KY" | |
predefine :AE, :name => "United Arab Emirates", :code => "AE" | |
predefine :MO, :name => "Macau", :code => "MO" | |
predefine :TR, :name => "Turkey", :code => "TR" | |
predefine :PL, :name => "Poland", :code => "PL" | |
predefine :SB, :name => "Solomon Islands", :code => "SB" | |
predefine :SD, :name => "Sudan", :code => "SD" | |
predefine :NT, :name => "Neutral Zone", :code => "NT" | |
predefine :VC, :name => "St Vincent Grenadines", :code => "VC" | |
predefine :BT, :name => "Bhutan", :code => "BT" | |
predefine :SC, :name => "Seychelles", :code => "SC" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment