├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── Gemfile ├── Gemfile.lock ├── Manifest.txt ├── README.rdoc ├── Rakefile ├── VERSION ├── iso_country_codes.gemspec ├── lib ├── iso_country_codes.rb └── iso_country_codes │ ├── calling.rb │ ├── code.rb │ ├── continent.rb │ ├── iso_13616_1.rb │ ├── iso_3166_1.rb │ ├── iso_4217.rb │ └── iso_country_codes.rb ├── overrides.yml ├── rakelib ├── cultivate.rake ├── iso_3166_1.rake ├── iso_3166_1.rb └── iso_3166_1.rb.erb └── test └── iso_country_codes_test.rb /.gitignore: -------------------------------------------------------------------------------- 1 | iso_country_codes-*.gem 2 | .bundle/ 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | bundler_args: --without development 3 | rvm: 4 | - 2.3.0 5 | - 2.2.4 6 | - 2.1 7 | - 2.0.0 8 | - 1.9.3 9 | - ruby-head 10 | - ree 11 | - jruby-19mode 12 | - jruby-head 13 | matrix: 14 | allow_failures: 15 | - rvm: ruby-head 16 | - rvm: jruby-head 17 | - rvm: ree 18 | notifications: 19 | recipients: 20 | - alexrabarts@gmail.com 21 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.7.8 2 | 3 | * Add (internal) override mechanism, and call TWN "Taiwan". (see #44) 4 | 5 | ## 0.7.7 6 | 7 | * Updated the main currency for Lithuania from `LTL` to `EUR` (see #43) 8 | * Updated the short name for Czech Reuplic to `Czechia` (see #42) 9 | 10 | ## 0.7.6 11 | 12 | * Updated the main currency for Slovakia from `SKK` to `EUR` (see #41) 13 | * Fixed a warning related to `Code#iban` (see #39) 14 | 15 | ## 0.7.5 16 | 17 | * Improved `search_by_name` to handle names with commas and parentheses (see #37) 18 | 19 | ## 0.7.4 20 | 21 | * Fixed calling code for Monaco 22 | 23 | ## 0.7.3 24 | 25 | * Fixed country code for Guernsey IBAN entry. Also removes `nil` entry from 26 | `IsoCountryCodes::Code.all` and `IsoCountryCodes::Code.for_select` methods. 27 | 28 | ## 0.7.2 - 2015-09-17 29 | 30 | * Fixed RegExp error in `search_by_name` (see #21) 31 | * Moved Cyprus from Asia to Europe 32 | * Added IBAN codes for British Crown Dependencies 33 | 34 | ## 0.7.1 - 2015-05-21 35 | 36 | * Adds IsoCountryCodes.search_by_iban method to search by IBAN code 37 | 38 | ## 0.7.0 - 2015-05-21 39 | 40 | * Adds ISO 13616-1 IBAN codes 41 | * Updated with the latest data from Wikipedia 42 | 43 | ## 0.6.1 - 2014-11-08 44 | 45 | * Allows continents to be accessed in a class instance 46 | 47 | ## 0.6.0 - 2014-10-23 48 | 49 | * Added ability to raise custom fallbacks and return default values 50 | 51 | ## 0.5.0 - 2014-10-13 52 | 53 | * Added continent codes 54 | 55 | ## 0.4.4 - 2014-07-23 56 | 57 | * Corrected Korean currency codes (fixes #13) 58 | 59 | ## 0.4.3 - 2014-06-24 60 | 61 | * Latvian LAT replaced with the Euro (fixes #10) 62 | * Updated with the latest data from Wikipedia (fixes #12) 63 | 64 | ## 0.4.2 - 2013-09-17 65 | 66 | * Fixed a problem with IsoCountryCodes.search_by_name when the result is an exact match 67 | 68 | ## 0.4.1 - 2013-04-03 69 | 70 | * Fixed a problem with IsoCountryCodes.search_by_name when an exception is thrown 71 | * Remvoed Jeweller dependency in development 72 | 73 | ## 0.4.0 - 2013-01-29 74 | 75 | * Added country calling codes, which may be accessed with the `calling` instance method 76 | * Added `search_by_name`, `search_by_currency` and `search_by_calling_code` methods 77 | * `:fuzzy` option on `find` is deprecated (use the `search_by_name` method instead) 78 | 79 | ## 0.3.1 - 2013-01-28 80 | 81 | * Updated with the latest data from Wikipedia 82 | 83 | ## 0.3.0 - 2012-03-13 84 | 85 | * Added IsoCountryCodes.for_select convenience method 86 | * Updated with the latest country names from Wikipedia 87 | 88 | ## 0.2.3 - 2011-10-27 89 | 90 | * Updated with the latest data from Wikipedia 91 | 92 | ## 0.2.2 - 2009-08-07 93 | 94 | * Added Ruby 1.9 UTF-8 encoding header 95 | * Updated with the latest country names from Wikipedia 96 | 97 | ## 0.2.1 - 2008-11-25 98 | 99 | * All Ruby warnings resolved 100 | 101 | ## 0.2.0 - 2008-11-24 102 | 103 | * Currency codes added 104 | 105 | ## 0.1.2 - 2008-11-24 106 | 107 | * Inexact strings can now be used to search for country names 108 | 109 | ## 0.1.1 - 2008-11-21 110 | 111 | * Each country now represented by a single class instead of one for each code 112 | 113 | ## 0.1.0 - 2008-11-20 114 | 115 | * Initial release 116 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'rake' 4 | gem 'rdoc' 5 | 6 | group :development, :test do 7 | gem 'nokogiri' 8 | gem 'erubis' 9 | gem 'test-unit', '~> 3.0' 10 | end 11 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | erubis (2.7.0) 5 | json (1.8.2) 6 | mini_portile (0.6.2) 7 | nokogiri (1.6.6.2) 8 | mini_portile (~> 0.6.0) 9 | power_assert (0.2.7) 10 | rake (10.4.2) 11 | rdoc (4.2.0) 12 | json (~> 1.4) 13 | test-unit (3.1.8) 14 | power_assert 15 | 16 | PLATFORMS 17 | ruby 18 | 19 | DEPENDENCIES 20 | erubis 21 | nokogiri 22 | rake 23 | rdoc 24 | test-unit (~> 3.0) 25 | 26 | BUNDLED WITH 27 | 1.11.2 28 | -------------------------------------------------------------------------------- /Manifest.txt: -------------------------------------------------------------------------------- 1 | History.txt 2 | Manifest.txt 3 | README.txt 4 | Rakefile 5 | iso_country_codes.gemspec 6 | lib/iso_country_codes.rb 7 | lib/iso_country_codes/code.rb 8 | lib/iso_country_codes/calling.rb 9 | lib/iso_country_codes/continent.rb 10 | lib/iso_country_codes/iso_3166_1.rb 11 | lib/iso_country_codes/iso_4217.rb 12 | lib/iso_country_codes/iso_country_codes.rb 13 | rakelib/cultivate.rake 14 | rakelib/iso_3116_1.rake 15 | rakelib/iso_3166_1.rb 16 | rakelib/iso_3166_1.rb.erb 17 | test/test_iso_country_codes.rb 18 | -------------------------------------------------------------------------------- /README.rdoc: -------------------------------------------------------------------------------- 1 | = iso_country_codes 2 | {Build Status}[https://travis-ci.org/alexrabarts/iso_country_codes] 3 | 4 | == DESCRIPTION: 5 | 6 | Provides ISO codes, names and currencies for countries. 7 | 8 | == FEATURES: 9 | 10 | * Find by alpha-2, alpha-3 or numeric codes 11 | * Search by name, currency code or calling/dialing code 12 | 13 | == SYNOPSIS: 14 | 15 | # Finding an ISO code returns the country name and other code formats 16 | code = IsoCountryCodes.find('gb') 17 | code.name # => "United Kingdom of Great Britain and Northern Ireland" 18 | code.numeric # => "826" 19 | code.alpha2 # => "GB" 20 | code.alpha3 # => "GBR" 21 | code.calling # => "+44" 22 | code.continent # => "EU" 23 | code.iban # => "GB" 24 | 25 | # Codes can be found via numeric, alpha-2 or alpha-3 format 26 | IsoCountryCodes.find(36) 27 | IsoCountryCodes.find('au') 28 | IsoCountryCodes.find('aus') 29 | 30 | # Codes can also be returned by searching country name, currency, calling/dialing code or IBAN 31 | IsoCountryCodes.search_by_name('australia') 32 | IsoCountryCodes.search_by_currency('aud') 33 | IsoCountryCodes.search_by_calling_code('+61') 34 | IsoCountryCodes.search_by_iban('gb') 35 | 36 | # Fetch a country's local currency 37 | IsoCountryCodes.find('aus').currency # => "AUD" 38 | 39 | # Output an Array of countries and their codes for use form helper methods 40 | IsoCountryCodes.for_select # => Array 41 | 42 | == INSTALL: 43 | 44 | gem install iso_country_codes 45 | 46 | == DATA SOURCE: 47 | 48 | IsoCountryCodes pulls its data from the Wikipedia ISO 3166-1 tables 49 | (https://en.wikipedia.org/wiki/ISO_3166-1), combined with a small number of 50 | overrides contained in the `overrides.yml` file. For example, the country name 51 | of TWN is overridden to "Taiwan" from "Taiwan, Province of China", to make it 52 | less politicised. 53 | 54 | The format of the `overrides.yml` file is the 3-letter alpha country 55 | code as the key, and the fields one wants to override as follows: 56 | 57 | "TWN": 58 | :name: "Taiwan" 59 | 60 | == LICENSE: 61 | 62 | (The MIT License) 63 | 64 | Copyright (c) 2008 Stateless Systems (http://statelesssystems.com) 65 | 66 | Permission is hereby granted, free of charge, to any person obtaining 67 | a copy of this software and associated documentation files (the 68 | 'Software'), to deal in the Software without restriction, including 69 | without limitation the rights to use, copy, modify, merge, publish, 70 | distribute, sublicense, and/or sell copies of the Software, and to 71 | permit persons to whom the Software is furnished to do so, subject to 72 | the following conditions: 73 | 74 | The above copyright notice and this permission notice shall be 75 | included in all copies or substantial portions of the Software. 76 | 77 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 78 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 79 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 80 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 81 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 82 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 83 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 84 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'rake' 2 | require './lib/iso_country_codes.rb' 3 | require 'rake/testtask' 4 | 5 | Rake::TestTask.new(:test) do |t| 6 | t.libs << 'lib' << 'test' 7 | t.pattern = 'test/**/*_test.rb' 8 | t.verbose = false 9 | end 10 | 11 | task :default => :test 12 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.7.8 2 | -------------------------------------------------------------------------------- /iso_country_codes.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | Gem::Specification.new do |s| 4 | s.name = %q{iso_country_codes} 5 | s.version = File.read('VERSION').strip 6 | s.authors = ["Alex Rabarts"] 7 | s.description = %q{ISO country code and currency library} 8 | s.summary = %q{Provides ISO 3166-1 country codes/names and ISO 4217 currencies.} 9 | s.homepage = %q{http://github.com/alexrabarts/iso_country_codes} 10 | s.email = %q{alexrabarts@gmail.com} 11 | s.extra_rdoc_files = ["README.rdoc"] 12 | s.files = `git ls-files`.split("\n") 13 | s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") 14 | s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } 15 | s.rdoc_options = ["--charset=UTF-8"] 16 | s.require_paths = ['lib'] 17 | s.license = 'MIT' 18 | 19 | ['bundler', 'shoulda', 'mocha', 'nokogiri'].each do |gem| 20 | s.add_development_dependency gem, '~> 0' 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/iso_country_codes.rb: -------------------------------------------------------------------------------- 1 | dir = File.dirname(__FILE__) 2 | $LOAD_PATH << dir unless $LOAD_PATH.include?(dir) 3 | 4 | require 'iso_country_codes/code' 5 | require 'iso_country_codes/iso_3166_1' 6 | require 'iso_country_codes/iso_13616_1' 7 | require 'iso_country_codes/iso_4217' 8 | require 'iso_country_codes/calling' 9 | require 'iso_country_codes/continent' 10 | require 'iso_country_codes/iso_country_codes' 11 | -------------------------------------------------------------------------------- /lib/iso_country_codes/calling.rb: -------------------------------------------------------------------------------- 1 | class IsoCountryCodes 2 | class Code 3 | class GBR < Code #:nodoc: 4 | self.calling = '+44' 5 | end 6 | class FJI < Code #:nodoc: 7 | self.calling = '+679' 8 | end 9 | class BLM < Code #:nodoc: 10 | self.calling = '+590' 11 | end 12 | class RUS < Code #:nodoc: 13 | self.calling = '+7' 14 | end 15 | class JOR < Code #:nodoc: 16 | self.calling = '+962' 17 | end 18 | class GEO < Code #:nodoc: 19 | self.calling = '+995' 20 | end 21 | class ATF < Code #:nodoc: 22 | self.calling = '+689' 23 | end 24 | class ECU < Code #:nodoc: 25 | self.calling = '+593' 26 | end 27 | class TWN < Code #:nodoc: 28 | self.calling = '+886' 29 | end 30 | class ZWE < Code #:nodoc: 31 | self.calling = '+263' 32 | end 33 | class ATG < Code #:nodoc: 34 | self.calling = '+268' 35 | end 36 | class IDN < Code #:nodoc: 37 | self.calling = '+62' 38 | end 39 | class BOL < Code #:nodoc: 40 | self.calling = '+591' 41 | end 42 | class NPL < Code #:nodoc: 43 | self.calling = '+977' 44 | end 45 | class DEU < Code #:nodoc: 46 | self.calling = '+49' 47 | end 48 | class MLT < Code #:nodoc: 49 | self.calling = '+356' 50 | end 51 | class TGO < Code #:nodoc: 52 | self.calling = '+228' 53 | end 54 | class SRB < Code #:nodoc: 55 | self.calling = '+381' 56 | end 57 | class TJK < Code #:nodoc: 58 | self.calling = '+992' 59 | end 60 | class REU < Code #:nodoc: 61 | self.calling = '+262' 62 | end 63 | class DNK < Code #:nodoc: 64 | self.calling = '+45' 65 | end 66 | class LAO < Code #:nodoc: 67 | self.calling = '+856' 68 | end 69 | class POL < Code #:nodoc: 70 | self.calling = '+48' 71 | end 72 | class BLR < Code #:nodoc: 73 | self.calling = '+375' 74 | end 75 | class PRI < Code #:nodoc: 76 | self.calling = '+787' 77 | end 78 | class GAB < Code #:nodoc: 79 | self.calling = '+241' 80 | end 81 | class TCA < Code #:nodoc: 82 | self.calling = '+649' 83 | end 84 | class NIC < Code #:nodoc: 85 | self.calling = '+505' 86 | end 87 | class RWA < Code #:nodoc: 88 | self.calling = '+250' 89 | end 90 | class SYR < Code #:nodoc: 91 | self.calling = '+963' 92 | end 93 | class URY < Code #:nodoc: 94 | self.calling = '+598' 95 | end 96 | class NCL < Code #:nodoc: 97 | self.calling = '+687' 98 | end 99 | class VCT < Code #:nodoc: 100 | self.calling = '+784' 101 | end 102 | class PRK < Code #:nodoc: 103 | self.calling = '+850' 104 | end 105 | class ZMB < Code #:nodoc: 106 | self.calling = '+260' 107 | end 108 | class MKD < Code #:nodoc: 109 | self.calling = '+389' 110 | end 111 | class CUW < Code #:nodoc: 112 | self.calling = '+599' 113 | end 114 | class SXM < Code #:nodoc: 115 | self.calling = '+599' 116 | end 117 | class SSD < Code #:nodoc: 118 | self.calling = '+211' 119 | end 120 | class BES < Code #:nodoc: 121 | self.calling = '+599' 122 | end 123 | class AZE < Code #:nodoc: 124 | self.calling = '+994' 125 | end 126 | class BRN < Code #:nodoc: 127 | self.calling = '+673' 128 | end 129 | class CMR < Code #:nodoc: 130 | self.calling = '+237' 131 | end 132 | class ERI < Code #:nodoc: 133 | self.calling = '+291' 134 | end 135 | class TCD < Code #:nodoc: 136 | self.calling = '+235' 137 | end 138 | class DZA < Code #:nodoc: 139 | self.calling = '+213' 140 | end 141 | class CCK < Code #:nodoc: 142 | self.calling = '+891' 143 | end 144 | class NFK < Code #:nodoc: 145 | self.calling = '+672' 146 | end 147 | class SOM < Code #:nodoc: 148 | self.calling = '+252' 149 | end 150 | class GUY < Code #:nodoc: 151 | self.calling = '+592' 152 | end 153 | class MRT < Code #:nodoc: 154 | self.calling = '+222' 155 | end 156 | class NLD < Code #:nodoc: 157 | self.calling = '+31' 158 | end 159 | class PLW < Code #:nodoc: 160 | self.calling = '+680' 161 | end 162 | class VIR < Code #:nodoc: 163 | self.calling = '+340' 164 | end 165 | class BEL < Code #:nodoc: 166 | self.calling = '+32' 167 | end 168 | class MHL < Code #:nodoc: 169 | self.calling = '+692' 170 | end 171 | class UKR < Code #:nodoc: 172 | self.calling = '+380' 173 | end 174 | class UGA < Code #:nodoc: 175 | self.calling = '+256' 176 | end 177 | class LTU < Code #:nodoc: 178 | self.calling = '+370' 179 | end 180 | class MNE < Code #:nodoc: 181 | self.calling = '+382' 182 | end 183 | class BLZ < Code #:nodoc: 184 | self.calling = '+501' 185 | end 186 | class MOZ < Code #:nodoc: 187 | self.calling = '+258' 188 | end 189 | class MUS < Code #:nodoc: 190 | self.calling = '+230' 191 | end 192 | class IMN < Code #:nodoc: 193 | self.calling = '+44' 194 | end 195 | class DMA < Code #:nodoc: 196 | self.calling = '+767' 197 | end 198 | class BEN < Code #:nodoc: 199 | self.calling = '+229' 200 | end 201 | class SLV < Code #:nodoc: 202 | self.calling = '+503' 203 | end 204 | class LCA < Code #:nodoc: 205 | self.calling = '+758' 206 | end 207 | class GNQ < Code #:nodoc: 208 | self.calling = '+240' 209 | end 210 | class MNG < Code #:nodoc: 211 | self.calling = '+976' 212 | end 213 | class UZB < Code #:nodoc: 214 | self.calling = '+998' 215 | end 216 | class CPV < Code #:nodoc: 217 | self.calling = '+238' 218 | end 219 | class JEY < Code #:nodoc: 220 | self.calling = '+44' 221 | end 222 | class KIR < Code #:nodoc: 223 | self.calling = '+686' 224 | end 225 | class PRT < Code #:nodoc: 226 | self.calling = '+351' 227 | end 228 | class MAC < Code #:nodoc: 229 | self.calling = '+853' 230 | end 231 | class AGO < Code #:nodoc: 232 | self.calling = '+244' 233 | end 234 | class FSM < Code #:nodoc: 235 | self.calling = '+691' 236 | end 237 | class PHL < Code #:nodoc: 238 | self.calling = '+63' 239 | end 240 | class LVA < Code #:nodoc: 241 | self.calling = '+371' 242 | end 243 | class COD < Code #:nodoc: 244 | self.calling = '+243' 245 | end 246 | class CYM < Code #:nodoc: 247 | self.calling = '+345' 248 | end 249 | class MDA < Code #:nodoc: 250 | self.calling = '+373' 251 | end 252 | class DJI < Code #:nodoc: 253 | self.calling = '+253' 254 | end 255 | class PER < Code #:nodoc: 256 | self.calling = '+51' 257 | end 258 | class MAF < Code #:nodoc: 259 | self.calling = '+590' 260 | end 261 | class GTM < Code #:nodoc: 262 | self.calling = '+502' 263 | end 264 | class ISL < Code #:nodoc: 265 | self.calling = '+354' 266 | end 267 | class PNG < Code #:nodoc: 268 | self.calling = '+675' 269 | end 270 | class SEN < Code #:nodoc: 271 | self.calling = '+221' 272 | end 273 | class GMB < Code #:nodoc: 274 | self.calling = '+220' 275 | end 276 | class JAM < Code #:nodoc: 277 | self.calling = '+876' 278 | end 279 | class COG < Code #:nodoc: 280 | self.calling = '+242' 281 | end 282 | class CYP < Code #:nodoc: 283 | self.calling = '+357' 284 | end 285 | class PRY < Code #:nodoc: 286 | self.calling = '+595' 287 | end 288 | class MEX < Code #:nodoc: 289 | self.calling = '+52' 290 | end 291 | class WSM < Code #:nodoc: 292 | self.calling = '+685' 293 | end 294 | class BHR < Code #:nodoc: 295 | self.calling = '+973' 296 | end 297 | class HUN < Code #:nodoc: 298 | self.calling = '+36' 299 | end 300 | class BHS < Code #:nodoc: 301 | self.calling = '+242' 302 | end 303 | class SUR < Code #:nodoc: 304 | self.calling = '+597' 305 | end 306 | class OMN < Code #:nodoc: 307 | self.calling = '+968' 308 | end 309 | class CUB < Code #:nodoc: 310 | self.calling = '+53' 311 | end 312 | class KOR < Code #:nodoc: 313 | self.calling = '+82' 314 | end 315 | class MDG < Code #:nodoc: 316 | self.calling = '+261' 317 | end 318 | class FRA < Code #:nodoc: 319 | self.calling = '+33' 320 | end 321 | class SHN < Code #:nodoc: 322 | self.calling = '+290' 323 | end 324 | class MNP < Code #:nodoc: 325 | self.calling = '+670' 326 | end 327 | class NIU < Code #:nodoc: 328 | self.calling = '+683' 329 | end 330 | class BWA < Code #:nodoc: 331 | self.calling = '+267' 332 | end 333 | class VEN < Code #:nodoc: 334 | self.calling = '+58' 335 | end 336 | class HKG < Code #:nodoc: 337 | self.calling = '+852' 338 | end 339 | class HND < Code #:nodoc: 340 | self.calling = '+504' 341 | end 342 | class COK < Code #:nodoc: 343 | self.calling = '+682' 344 | end 345 | class ISR < Code #:nodoc: 346 | self.calling = '+972' 347 | end 348 | class FIN < Code #:nodoc: 349 | self.calling = '+358' 350 | end 351 | class AIA < Code #:nodoc: 352 | self.calling = '+264' 353 | end 354 | class KNA < Code #:nodoc: 355 | self.calling = '+869' 356 | end 357 | class LIE < Code #:nodoc: 358 | self.calling = '+423' 359 | end 360 | class FLK < Code #:nodoc: 361 | self.calling = '+500' 362 | end 363 | class HRV < Code #:nodoc: 364 | self.calling = '+385' 365 | end 366 | class COL < Code #:nodoc: 367 | self.calling = '+57' 368 | end 369 | class CRI < Code #:nodoc: 370 | self.calling = '+506' 371 | end 372 | class WLF < Code #:nodoc: 373 | self.calling = '+681' 374 | end 375 | class BGD < Code #:nodoc: 376 | self.calling = '+880' 377 | end 378 | class LSO < Code #:nodoc: 379 | self.calling = '+266' 380 | end 381 | class MWI < Code #:nodoc: 382 | self.calling = '+265' 383 | end 384 | class COM < Code #:nodoc: 385 | self.calling = '+269' 386 | end 387 | class UMI < Code #:nodoc: 388 | self.calling = '+1' 389 | end 390 | class USA < Code #:nodoc: 391 | self.calling = '+1' 392 | end 393 | class KEN < Code #:nodoc: 394 | self.calling = '+254' 395 | end 396 | class AFG < Code #:nodoc: 397 | self.calling = '+93' 398 | end 399 | class ASM < Code #:nodoc: 400 | self.calling = '+684' 401 | end 402 | class CIV < Code #:nodoc: 403 | self.calling = '+225' 404 | end 405 | class NOR < Code #:nodoc: 406 | self.calling = '+47' 407 | end 408 | class PAK < Code #:nodoc: 409 | self.calling = '+92' 410 | end 411 | class YEM < Code #:nodoc: 412 | self.calling = '+967' 413 | end 414 | class VUT < Code #:nodoc: 415 | self.calling = '+678' 416 | end 417 | class ALA < Code #:nodoc: 418 | self.calling = '+358' 419 | end 420 | class BDI < Code #:nodoc: 421 | self.calling = '+257' 422 | end 423 | class MAR < Code #:nodoc: 424 | self.calling = '+212' 425 | end 426 | class ALB < Code #:nodoc: 427 | self.calling = '+355' 428 | end 429 | class KHM < Code #:nodoc: 430 | self.calling = '+855' 431 | end 432 | class ETH < Code #:nodoc: 433 | self.calling = '+251' 434 | end 435 | class PAN < Code #:nodoc: 436 | self.calling = '+507' 437 | end 438 | class CHE < Code #:nodoc: 439 | self.calling = '+41' 440 | end 441 | class MTQ < Code #:nodoc: 442 | self.calling = '+596' 443 | end 444 | class BTN < Code #:nodoc: 445 | self.calling = '+975' 446 | end 447 | class THA < Code #:nodoc: 448 | self.calling = '+66' 449 | end 450 | class SWE < Code #:nodoc: 451 | self.calling = '+46' 452 | end 453 | class TON < Code #:nodoc: 454 | self.calling = '+676' 455 | end 456 | class VNM < Code #:nodoc: 457 | self.calling = '+84' 458 | end 459 | class GGY < Code #:nodoc: 460 | self.calling = '+1481' 461 | end 462 | class TLS < Code #:nodoc: 463 | self.calling = '+670' 464 | end 465 | class NRU < Code #:nodoc: 466 | self.calling = '+674' 467 | end 468 | class VGB < Code #:nodoc: 469 | self.calling = '+284' 470 | end 471 | class GIB < Code #:nodoc: 472 | self.calling = '+350' 473 | end 474 | class NER < Code #:nodoc: 475 | self.calling = '+277' 476 | end 477 | class HTI < Code #:nodoc: 478 | self.calling = '+509' 479 | end 480 | class MDV < Code #:nodoc: 481 | self.calling = '+960' 482 | end 483 | class FRO < Code #:nodoc: 484 | self.calling = '+298' 485 | end 486 | class CHL < Code #:nodoc: 487 | self.calling = '+56' 488 | end 489 | class SDN < Code #:nodoc: 490 | self.calling = '+249' 491 | end 492 | class IRL < Code #:nodoc: 493 | self.calling = '+353' 494 | end 495 | class ARE < Code #:nodoc: 496 | self.calling = '+971' 497 | end 498 | class CHN < Code #:nodoc: 499 | self.calling = '+86' 500 | end 501 | class STP < Code #:nodoc: 502 | self.calling = '+239' 503 | end 504 | class JPN < Code #:nodoc: 505 | self.calling = '+81' 506 | end 507 | class TUN < Code #:nodoc: 508 | self.calling = '+216' 509 | end 510 | class BGR < Code #:nodoc: 511 | self.calling = '+359' 512 | end 513 | class IRN < Code #:nodoc: 514 | self.calling = '+98' 515 | end 516 | class ARG < Code #:nodoc: 517 | self.calling = '+54' 518 | end 519 | class CXR < Code #:nodoc: 520 | self.calling = '+61' 521 | end 522 | class IOT < Code #:nodoc: 523 | self.calling = '+246' 524 | end 525 | class SAU < Code #:nodoc: 526 | self.calling = '+966' 527 | end 528 | class NGA < Code #:nodoc: 529 | self.calling = '+234' 530 | end 531 | class HMD < Code #:nodoc: 532 | self.calling = '+61' 533 | end 534 | class IRQ < Code #:nodoc: 535 | self.calling = '+964' 536 | end 537 | class BFA < Code #:nodoc: 538 | self.calling = '+226' 539 | end 540 | class TUR < Code #:nodoc: 541 | self.calling = '+90' 542 | end 543 | class MMR < Code #:nodoc: 544 | self.calling = '+95' 545 | end 546 | class PSE < Code #:nodoc: 547 | self.calling = '+970' 548 | end 549 | class SGP < Code #:nodoc: 550 | self.calling = '+65' 551 | end 552 | class CAF < Code #:nodoc: 553 | self.calling = '+236' 554 | end 555 | class LKA < Code #:nodoc: 556 | self.calling = '+94' 557 | end 558 | class SJM < Code #:nodoc: 559 | self.calling = '+47' 560 | end 561 | class IND < Code #:nodoc: 562 | self.calling = '+91' 563 | end 564 | class VAT < Code #:nodoc: 565 | self.calling = '+379' 566 | end 567 | class LBN < Code #:nodoc: 568 | self.calling = '+961' 569 | end 570 | class TKL < Code #:nodoc: 571 | self.calling = '+690' 572 | end 573 | class GIN < Code #:nodoc: 574 | self.calling = '+225' 575 | end 576 | class NAM < Code #:nodoc: 577 | self.calling = '+264' 578 | end 579 | class SGS < Code #:nodoc: 580 | self.calling = '+500' 581 | end 582 | class ARM < Code #:nodoc: 583 | self.calling = '+374' 584 | end 585 | class GRC < Code #:nodoc: 586 | self.calling = '+30' 587 | end 588 | class TUV < Code #:nodoc: 589 | self.calling = '+688' 590 | end 591 | class TKM < Code #:nodoc: 592 | self.calling = '+993' 593 | end 594 | class GRD < Code #:nodoc: 595 | self.calling = '+473' 596 | end 597 | class DOM < Code #:nodoc: 598 | self.calling = '+809' 599 | end 600 | class ESH < Code #:nodoc: 601 | self.calling = '+212' 602 | end 603 | class LBR < Code #:nodoc: 604 | self.calling = '+231' 605 | end 606 | class MCO < Code #:nodoc: 607 | self.calling = '+377' 608 | end 609 | class ITA < Code #:nodoc: 610 | self.calling = '+39' 611 | end 612 | class BMU < Code #:nodoc: 613 | self.calling = '+441' 614 | end 615 | class EGY < Code #:nodoc: 616 | self.calling = '+20' 617 | end 618 | class PYF < Code #:nodoc: 619 | self.calling = '+689' 620 | end 621 | class CAN < Code #:nodoc: 622 | self.calling = '+1' 623 | end 624 | class MSR < Code #:nodoc: 625 | self.calling = '+664' 626 | end 627 | class SWZ < Code #:nodoc: 628 | self.calling = '+268' 629 | end 630 | class CZE < Code #:nodoc: 631 | self.calling = '+420' 632 | end 633 | class GLP < Code #:nodoc: 634 | self.calling = '+590' 635 | end 636 | class SPM < Code #:nodoc: 637 | self.calling = '+508' 638 | end 639 | class SYC < Code #:nodoc: 640 | self.calling = '+248' 641 | end 642 | class PCN < Code #:nodoc: 643 | self.calling = '+872' 644 | end 645 | class SMR < Code #:nodoc: 646 | self.calling = '+378' 647 | end 648 | class GUF < Code #:nodoc: 649 | self.calling = '+594' 650 | end 651 | class TZA < Code #:nodoc: 652 | self.calling = '+255' 653 | end 654 | class GHA < Code #:nodoc: 655 | self.calling = '+233' 656 | end 657 | class AND < Code #:nodoc: 658 | self.calling = '+376' 659 | end 660 | class BIH < Code #:nodoc: 661 | self.calling = '+387' 662 | end 663 | class KAZ < Code #:nodoc: 664 | self.calling = '+7' 665 | end 666 | class KWT < Code #:nodoc: 667 | self.calling = '+965' 668 | end 669 | class MLI < Code #:nodoc: 670 | self.calling = '+223' 671 | end 672 | class NZL < Code #:nodoc: 673 | self.calling = '+64' 674 | end 675 | class GRL < Code #:nodoc: 676 | self.calling = '+299' 677 | end 678 | class AUS < Code #:nodoc: 679 | self.calling = '+61' 680 | end 681 | class LBY < Code #:nodoc: 682 | self.calling = '+218' 683 | end 684 | class ROU < Code #:nodoc: 685 | self.calling = '+40' 686 | end 687 | class ABW < Code #:nodoc: 688 | self.calling = '+297' 689 | end 690 | class ESP < Code #:nodoc: 691 | self.calling = '+34' 692 | end 693 | class SLB < Code #:nodoc: 694 | self.calling = '+677' 695 | end 696 | class LUX < Code #:nodoc: 697 | self.calling = '+352' 698 | end 699 | class AUT < Code #:nodoc: 700 | self.calling = '+43' 701 | end 702 | class BRA < Code #:nodoc: 703 | self.calling = '+55' 704 | end 705 | class SVK < Code #:nodoc: 706 | self.calling = '+421' 707 | end 708 | class QAT < Code #:nodoc: 709 | self.calling = '+974' 710 | end 711 | class ATA < Code #:nodoc: 712 | self.calling = '+672' 713 | end 714 | class ZAF < Code #:nodoc: 715 | self.calling = '+27' 716 | end 717 | class BRB < Code #:nodoc: 718 | self.calling = '+246' 719 | end 720 | class GUM < Code #:nodoc: 721 | self.calling = '+671' 722 | end 723 | class MYS < Code #:nodoc: 724 | self.calling = '+60' 725 | end 726 | class TTO < Code #:nodoc: 727 | self.calling = '+868' 728 | end 729 | class SLE < Code #:nodoc: 730 | self.calling = '+232' 731 | end 732 | class SVN < Code #:nodoc: 733 | self.calling = '+386' 734 | end 735 | class BVT < Code #:nodoc: 736 | self.calling = '+47' 737 | end 738 | class MYT < Code #:nodoc: 739 | self.calling = '+262' 740 | end 741 | class KGZ < Code #:nodoc: 742 | self.calling = '+996' 743 | end 744 | class EST < Code #:nodoc: 745 | self.calling = '+372' 746 | end 747 | class GNB < Code #:nodoc: 748 | self.calling = '+245' 749 | end 750 | end # end Code 751 | end # IsoCountryCodes 752 | -------------------------------------------------------------------------------- /lib/iso_country_codes/code.rb: -------------------------------------------------------------------------------- 1 | require 'singleton' 2 | 3 | class IsoCountryCodes 4 | class Code 5 | include Singleton 6 | 7 | def name 8 | self.class.name 9 | end 10 | 11 | def numeric 12 | self.class.numeric 13 | end 14 | 15 | def alpha2 16 | self.class.alpha2 17 | end 18 | 19 | def alpha3 20 | self.class.alpha3 21 | end 22 | 23 | def calling 24 | self.class.calling 25 | end 26 | 27 | def calling_code 28 | self.class.calling_code 29 | end 30 | 31 | def continent 32 | self.class.continent 33 | end 34 | 35 | def main_currency 36 | self.class.main_currency 37 | end 38 | 39 | def currency 40 | self.class.currency 41 | end 42 | 43 | def currencies 44 | self.class.currencies 45 | end 46 | 47 | def iban 48 | self.class.iban 49 | end 50 | 51 | class << self 52 | attr_accessor :name, :numeric, :alpha2, :alpha3, :calling, :continent, :main_currency 53 | attr_writer :currencies, :iban 54 | alias_method :currency, :main_currency 55 | alias_method :calling_code, :calling 56 | 57 | @@codes = [] 58 | def inherited(code) #:nodoc: 59 | super 60 | @@codes << code.instance if self == IsoCountryCodes::Code 61 | end 62 | 63 | def all 64 | @@codes.uniq 65 | end 66 | 67 | def for_select(type = :alpha2) 68 | all.map { |country| [country.name, country.send(type)] } 69 | end 70 | 71 | def currencies 72 | if defined? @currencies 73 | return @currencies 74 | else 75 | return [@main_currency] 76 | end 77 | end 78 | 79 | def iban 80 | # Return `nil` if the country doesn't use IBANs 81 | return @iban if defined? @iban 82 | end 83 | end 84 | end 85 | end 86 | -------------------------------------------------------------------------------- /lib/iso_country_codes/continent.rb: -------------------------------------------------------------------------------- 1 | # Sourced from http://dev.maxmind.com/geoip/legacy/codes/country_continent/ 2 | 3 | class IsoCountryCodes 4 | class Code 5 | class AND < Code #:nodoc: 6 | self.continent = 'EU' 7 | end 8 | class ARE < Code #:nodoc: 9 | self.continent = 'AS' 10 | end 11 | class AFG < Code #:nodoc: 12 | self.continent = 'AS' 13 | end 14 | class ATG < Code #:nodoc: 15 | self.continent = 'NA' 16 | end 17 | class AIA < Code #:nodoc: 18 | self.continent = 'NA' 19 | end 20 | class ALB < Code #:nodoc: 21 | self.continent = 'EU' 22 | end 23 | class ARM < Code #:nodoc: 24 | self.continent = 'AS' 25 | end 26 | class AGO < Code #:nodoc: 27 | self.continent = 'AF' 28 | end 29 | class ATA < Code #:nodoc: 30 | self.continent = 'AN' 31 | end 32 | class ARG < Code #:nodoc: 33 | self.continent = 'SA' 34 | end 35 | class ASM < Code #:nodoc: 36 | self.continent = 'OC' 37 | end 38 | class AUT < Code #:nodoc: 39 | self.continent = 'EU' 40 | end 41 | class AUS < Code #:nodoc: 42 | self.continent = 'OC' 43 | end 44 | class ABW < Code #:nodoc: 45 | self.continent = 'NA' 46 | end 47 | class ALA < Code #:nodoc: 48 | self.continent = 'EU' 49 | end 50 | class AZE < Code #:nodoc: 51 | self.continent = 'AS' 52 | end 53 | class BIH < Code #:nodoc: 54 | self.continent = 'EU' 55 | end 56 | class BRB < Code #:nodoc: 57 | self.continent = 'NA' 58 | end 59 | class BGD < Code #:nodoc: 60 | self.continent = 'AS' 61 | end 62 | class BEL < Code #:nodoc: 63 | self.continent = 'EU' 64 | end 65 | class BFA < Code #:nodoc: 66 | self.continent = 'AF' 67 | end 68 | class BGR < Code #:nodoc: 69 | self.continent = 'EU' 70 | end 71 | class BHR < Code #:nodoc: 72 | self.continent = 'AS' 73 | end 74 | class BDI < Code #:nodoc: 75 | self.continent = 'AF' 76 | end 77 | class BEN < Code #:nodoc: 78 | self.continent = 'AF' 79 | end 80 | class BLM < Code #:nodoc: 81 | self.continent = 'NA' 82 | end 83 | class BMU < Code #:nodoc: 84 | self.continent = 'NA' 85 | end 86 | class BRN < Code #:nodoc: 87 | self.continent = 'AS' 88 | end 89 | class BOL < Code #:nodoc: 90 | self.continent = 'SA' 91 | end 92 | class BRA < Code #:nodoc: 93 | self.continent = 'SA' 94 | end 95 | class BHS < Code #:nodoc: 96 | self.continent = 'NA' 97 | end 98 | class BTN < Code #:nodoc: 99 | self.continent = 'AS' 100 | end 101 | class BVT < Code #:nodoc: 102 | self.continent = 'AN' 103 | end 104 | class BWA < Code #:nodoc: 105 | self.continent = 'AF' 106 | end 107 | class BLR < Code #:nodoc: 108 | self.continent = 'EU' 109 | end 110 | class BLZ < Code #:nodoc: 111 | self.continent = 'NA' 112 | end 113 | class CAN < Code #:nodoc: 114 | self.continent = 'NA' 115 | end 116 | class CCK < Code #:nodoc: 117 | self.continent = 'AS' 118 | end 119 | class COD < Code #:nodoc: 120 | self.continent = 'AF' 121 | end 122 | class CAF < Code #:nodoc: 123 | self.continent = 'AF' 124 | end 125 | class COG < Code #:nodoc: 126 | self.continent = 'AF' 127 | end 128 | class CHE < Code #:nodoc: 129 | self.continent = 'EU' 130 | end 131 | class CIV < Code #:nodoc: 132 | self.continent = 'AF' 133 | end 134 | class COK < Code #:nodoc: 135 | self.continent = 'OC' 136 | end 137 | class CHL < Code #:nodoc: 138 | self.continent = 'SA' 139 | end 140 | class CMR < Code #:nodoc: 141 | self.continent = 'AF' 142 | end 143 | class CHN < Code #:nodoc: 144 | self.continent = 'AS' 145 | end 146 | class COL < Code #:nodoc: 147 | self.continent = 'SA' 148 | end 149 | class CRI < Code #:nodoc: 150 | self.continent = 'NA' 151 | end 152 | class CUB < Code #:nodoc: 153 | self.continent = 'NA' 154 | end 155 | class CPV < Code #:nodoc: 156 | self.continent = 'AF' 157 | end 158 | class CXR < Code #:nodoc: 159 | self.continent = 'AS' 160 | end 161 | class CYP < Code #:nodoc: 162 | self.continent = 'EU' 163 | end 164 | class CZE < Code #:nodoc: 165 | self.continent = 'EU' 166 | end 167 | class DEU < Code #:nodoc: 168 | self.continent = 'EU' 169 | end 170 | class DJI < Code #:nodoc: 171 | self.continent = 'AF' 172 | end 173 | class DNK < Code #:nodoc: 174 | self.continent = 'EU' 175 | end 176 | class DMA < Code #:nodoc: 177 | self.continent = 'NA' 178 | end 179 | class DOM < Code #:nodoc: 180 | self.continent = 'NA' 181 | end 182 | class DZA < Code #:nodoc: 183 | self.continent = 'AF' 184 | end 185 | class ECU < Code #:nodoc: 186 | self.continent = 'SA' 187 | end 188 | class EST < Code #:nodoc: 189 | self.continent = 'EU' 190 | end 191 | class EGY < Code #:nodoc: 192 | self.continent = 'AF' 193 | end 194 | class ESH < Code #:nodoc: 195 | self.continent = 'AF' 196 | end 197 | class ERI < Code #:nodoc: 198 | self.continent = 'AF' 199 | end 200 | class ESP < Code #:nodoc: 201 | self.continent = 'EU' 202 | end 203 | class ETH < Code #:nodoc: 204 | self.continent = 'AF' 205 | end 206 | class FIN < Code #:nodoc: 207 | self.continent = 'EU' 208 | end 209 | class FJI < Code #:nodoc: 210 | self.continent = 'OC' 211 | end 212 | class FLK < Code #:nodoc: 213 | self.continent = 'SA' 214 | end 215 | class FSM < Code #:nodoc: 216 | self.continent = 'OC' 217 | end 218 | class FRO < Code #:nodoc: 219 | self.continent = 'EU' 220 | end 221 | class FRA < Code #:nodoc: 222 | self.continent = 'EU' 223 | end 224 | class GAB < Code #:nodoc: 225 | self.continent = 'AF' 226 | end 227 | class GBR < Code #:nodoc: 228 | self.continent = 'EU' 229 | end 230 | class GRD < Code #:nodoc: 231 | self.continent = 'NA' 232 | end 233 | class GEO < Code #:nodoc: 234 | self.continent = 'AS' 235 | end 236 | class GUF < Code #:nodoc: 237 | self.continent = 'SA' 238 | end 239 | class GGY < Code #:nodoc: 240 | self.continent = 'EU' 241 | end 242 | class GHA < Code #:nodoc: 243 | self.continent = 'AF' 244 | end 245 | class GIB < Code #:nodoc: 246 | self.continent = 'EU' 247 | end 248 | class GRL < Code #:nodoc: 249 | self.continent = 'NA' 250 | end 251 | class GMB < Code #:nodoc: 252 | self.continent = 'AF' 253 | end 254 | class GIN < Code #:nodoc: 255 | self.continent = 'AF' 256 | end 257 | class GLP < Code #:nodoc: 258 | self.continent = 'NA' 259 | end 260 | class GNQ < Code #:nodoc: 261 | self.continent = 'AF' 262 | end 263 | class GRC < Code #:nodoc: 264 | self.continent = 'EU' 265 | end 266 | class SGS < Code #:nodoc: 267 | self.continent = 'AN' 268 | end 269 | class GTM < Code #:nodoc: 270 | self.continent = 'NA' 271 | end 272 | class GUM < Code #:nodoc: 273 | self.continent = 'OC' 274 | end 275 | class GNB < Code #:nodoc: 276 | self.continent = 'AF' 277 | end 278 | class GUY < Code #:nodoc: 279 | self.continent = 'SA' 280 | end 281 | class HKG < Code #:nodoc: 282 | self.continent = 'AS' 283 | end 284 | class HMD < Code #:nodoc: 285 | self.continent = 'AN' 286 | end 287 | class HND < Code #:nodoc: 288 | self.continent = 'NA' 289 | end 290 | class HRV < Code #:nodoc: 291 | self.continent = 'EU' 292 | end 293 | class HTI < Code #:nodoc: 294 | self.continent = 'NA' 295 | end 296 | class HUN < Code #:nodoc: 297 | self.continent = 'EU' 298 | end 299 | class IDN < Code #:nodoc: 300 | self.continent = 'AS' 301 | end 302 | class IRL < Code #:nodoc: 303 | self.continent = 'EU' 304 | end 305 | class ISR < Code #:nodoc: 306 | self.continent = 'AS' 307 | end 308 | class IMN < Code #:nodoc: 309 | self.continent = 'EU' 310 | end 311 | class IND < Code #:nodoc: 312 | self.continent = 'AS' 313 | end 314 | class IOT < Code #:nodoc: 315 | self.continent = 'AS' 316 | end 317 | class IRQ < Code #:nodoc: 318 | self.continent = 'AS' 319 | end 320 | class IRN < Code #:nodoc: 321 | self.continent = 'AS' 322 | end 323 | class ISL < Code #:nodoc: 324 | self.continent = 'EU' 325 | end 326 | class ITA < Code #:nodoc: 327 | self.continent = 'EU' 328 | end 329 | class JEY < Code #:nodoc: 330 | self.continent = 'EU' 331 | end 332 | class JAM < Code #:nodoc: 333 | self.continent = 'NA' 334 | end 335 | class JOR < Code #:nodoc: 336 | self.continent = 'AS' 337 | end 338 | class JPN < Code #:nodoc: 339 | self.continent = 'AS' 340 | end 341 | class KEN < Code #:nodoc: 342 | self.continent = 'AF' 343 | end 344 | class KGZ < Code #:nodoc: 345 | self.continent = 'AS' 346 | end 347 | class KHM < Code #:nodoc: 348 | self.continent = 'AS' 349 | end 350 | class KIR < Code #:nodoc: 351 | self.continent = 'OC' 352 | end 353 | class COM < Code #:nodoc: 354 | self.continent = 'AF' 355 | end 356 | class KNA < Code #:nodoc: 357 | self.continent = 'NA' 358 | end 359 | class PRK < Code #:nodoc: 360 | self.continent = 'AS' 361 | end 362 | class KOR < Code #:nodoc: 363 | self.continent = 'AS' 364 | end 365 | class KWT < Code #:nodoc: 366 | self.continent = 'AS' 367 | end 368 | class CYM < Code #:nodoc: 369 | self.continent = 'NA' 370 | end 371 | class KAZ < Code #:nodoc: 372 | self.continent = 'AS' 373 | end 374 | class LAO < Code #:nodoc: 375 | self.continent = 'AS' 376 | end 377 | class LBN < Code #:nodoc: 378 | self.continent = 'AS' 379 | end 380 | class LCA < Code #:nodoc: 381 | self.continent = 'NA' 382 | end 383 | class LIE < Code #:nodoc: 384 | self.continent = 'EU' 385 | end 386 | class LKA < Code #:nodoc: 387 | self.continent = 'AS' 388 | end 389 | class LBR < Code #:nodoc: 390 | self.continent = 'AF' 391 | end 392 | class LSO < Code #:nodoc: 393 | self.continent = 'AF' 394 | end 395 | class LTU < Code #:nodoc: 396 | self.continent = 'EU' 397 | end 398 | class LUX < Code #:nodoc: 399 | self.continent = 'EU' 400 | end 401 | class LVA < Code #:nodoc: 402 | self.continent = 'EU' 403 | end 404 | class LBY < Code #:nodoc: 405 | self.continent = 'AF' 406 | end 407 | class MAR < Code #:nodoc: 408 | self.continent = 'AF' 409 | end 410 | class MCO < Code #:nodoc: 411 | self.continent = 'EU' 412 | end 413 | class MDA < Code #:nodoc: 414 | self.continent = 'EU' 415 | end 416 | class MNE < Code #:nodoc: 417 | self.continent = 'EU' 418 | end 419 | class MAF < Code #:nodoc: 420 | self.continent = 'NA' 421 | end 422 | class MDG < Code #:nodoc: 423 | self.continent = 'AF' 424 | end 425 | class MHL < Code #:nodoc: 426 | self.continent = 'OC' 427 | end 428 | class MKD < Code #:nodoc: 429 | self.continent = 'EU' 430 | end 431 | class MLI < Code #:nodoc: 432 | self.continent = 'AF' 433 | end 434 | class MMR < Code #:nodoc: 435 | self.continent = 'AS' 436 | end 437 | class MNG < Code #:nodoc: 438 | self.continent = 'AS' 439 | end 440 | class MAC < Code #:nodoc: 441 | self.continent = 'AS' 442 | end 443 | class MNP < Code #:nodoc: 444 | self.continent = 'OC' 445 | end 446 | class MTQ < Code #:nodoc: 447 | self.continent = 'NA' 448 | end 449 | class MRT < Code #:nodoc: 450 | self.continent = 'AF' 451 | end 452 | class MSR < Code #:nodoc: 453 | self.continent = 'NA' 454 | end 455 | class MLT < Code #:nodoc: 456 | self.continent = 'EU' 457 | end 458 | class MUS < Code #:nodoc: 459 | self.continent = 'AF' 460 | end 461 | class MDV < Code #:nodoc: 462 | self.continent = 'AS' 463 | end 464 | class MWI < Code #:nodoc: 465 | self.continent = 'AF' 466 | end 467 | class MEX < Code #:nodoc: 468 | self.continent = 'NA' 469 | end 470 | class MYS < Code #:nodoc: 471 | self.continent = 'AS' 472 | end 473 | class MOZ < Code #:nodoc: 474 | self.continent = 'AF' 475 | end 476 | class NAM < Code #:nodoc: 477 | self.continent = 'AF' 478 | end 479 | class NCL < Code #:nodoc: 480 | self.continent = 'OC' 481 | end 482 | class NER < Code #:nodoc: 483 | self.continent = 'AF' 484 | end 485 | class NFK < Code #:nodoc: 486 | self.continent = 'OC' 487 | end 488 | class NGA < Code #:nodoc: 489 | self.continent = 'AF' 490 | end 491 | class NIC < Code #:nodoc: 492 | self.continent = 'NA' 493 | end 494 | class NLD < Code #:nodoc: 495 | self.continent = 'EU' 496 | end 497 | class NOR < Code #:nodoc: 498 | self.continent = 'EU' 499 | end 500 | class NPL < Code #:nodoc: 501 | self.continent = 'AS' 502 | end 503 | class NRU < Code #:nodoc: 504 | self.continent = 'OC' 505 | end 506 | class NIU < Code #:nodoc: 507 | self.continent = 'OC' 508 | end 509 | class NZL < Code #:nodoc: 510 | self.continent = 'OC' 511 | end 512 | class OMN < Code #:nodoc: 513 | self.continent = 'AS' 514 | end 515 | class PAN < Code #:nodoc: 516 | self.continent = 'NA' 517 | end 518 | class PER < Code #:nodoc: 519 | self.continent = 'SA' 520 | end 521 | class PYF < Code #:nodoc: 522 | self.continent = 'OC' 523 | end 524 | class PNG < Code #:nodoc: 525 | self.continent = 'OC' 526 | end 527 | class PHL < Code #:nodoc: 528 | self.continent = 'AS' 529 | end 530 | class PAK < Code #:nodoc: 531 | self.continent = 'AS' 532 | end 533 | class POL < Code #:nodoc: 534 | self.continent = 'EU' 535 | end 536 | class SPM < Code #:nodoc: 537 | self.continent = 'NA' 538 | end 539 | class PCN < Code #:nodoc: 540 | self.continent = 'OC' 541 | end 542 | class PRI < Code #:nodoc: 543 | self.continent = 'NA' 544 | end 545 | class PSE < Code #:nodoc: 546 | self.continent = 'AS' 547 | end 548 | class PRT < Code #:nodoc: 549 | self.continent = 'EU' 550 | end 551 | class PLW < Code #:nodoc: 552 | self.continent = 'OC' 553 | end 554 | class PRY < Code #:nodoc: 555 | self.continent = 'SA' 556 | end 557 | class QAT < Code #:nodoc: 558 | self.continent = 'AS' 559 | end 560 | class REU < Code #:nodoc: 561 | self.continent = 'AF' 562 | end 563 | class ROU < Code #:nodoc: 564 | self.continent = 'EU' 565 | end 566 | class SRB < Code #:nodoc: 567 | self.continent = 'EU' 568 | end 569 | class RUS < Code #:nodoc: 570 | self.continent = 'EU' 571 | end 572 | class RWA < Code #:nodoc: 573 | self.continent = 'AF' 574 | end 575 | class SAU < Code #:nodoc: 576 | self.continent = 'AS' 577 | end 578 | class SLB < Code #:nodoc: 579 | self.continent = 'OC' 580 | end 581 | class SYC < Code #:nodoc: 582 | self.continent = 'AF' 583 | end 584 | class SDN < Code #:nodoc: 585 | self.continent = 'AF' 586 | end 587 | class SWE < Code #:nodoc: 588 | self.continent = 'EU' 589 | end 590 | class SGP < Code #:nodoc: 591 | self.continent = 'AS' 592 | end 593 | class SHN < Code #:nodoc: 594 | self.continent = 'AF' 595 | end 596 | class SVN < Code #:nodoc: 597 | self.continent = 'EU' 598 | end 599 | class SJM < Code #:nodoc: 600 | self.continent = 'EU' 601 | end 602 | class SVK < Code #:nodoc: 603 | self.continent = 'EU' 604 | end 605 | class SLE < Code #:nodoc: 606 | self.continent = 'AF' 607 | end 608 | class SMR < Code #:nodoc: 609 | self.continent = 'EU' 610 | end 611 | class SEN < Code #:nodoc: 612 | self.continent = 'AF' 613 | end 614 | class SOM < Code #:nodoc: 615 | self.continent = 'AF' 616 | end 617 | class SUR < Code #:nodoc: 618 | self.continent = 'SA' 619 | end 620 | class STP < Code #:nodoc: 621 | self.continent = 'AF' 622 | end 623 | class SLV < Code #:nodoc: 624 | self.continent = 'NA' 625 | end 626 | class SYR < Code #:nodoc: 627 | self.continent = 'AS' 628 | end 629 | class SWZ < Code #:nodoc: 630 | self.continent = 'AF' 631 | end 632 | class TCA < Code #:nodoc: 633 | self.continent = 'NA' 634 | end 635 | class TCD < Code #:nodoc: 636 | self.continent = 'AF' 637 | end 638 | class ATF < Code #:nodoc: 639 | self.continent = 'AN' 640 | end 641 | class TGO < Code #:nodoc: 642 | self.continent = 'AF' 643 | end 644 | class THA < Code #:nodoc: 645 | self.continent = 'AS' 646 | end 647 | class TJK < Code #:nodoc: 648 | self.continent = 'AS' 649 | end 650 | class TKL < Code #:nodoc: 651 | self.continent = 'OC' 652 | end 653 | class TLS < Code #:nodoc: 654 | self.continent = 'AS' 655 | end 656 | class TKM < Code #:nodoc: 657 | self.continent = 'AS' 658 | end 659 | class TUN < Code #:nodoc: 660 | self.continent = 'AF' 661 | end 662 | class TON < Code #:nodoc: 663 | self.continent = 'OC' 664 | end 665 | class TUR < Code #:nodoc: 666 | self.continent = 'EU' 667 | end 668 | class TTO < Code #:nodoc: 669 | self.continent = 'NA' 670 | end 671 | class TUV < Code #:nodoc: 672 | self.continent = 'OC' 673 | end 674 | class TWN < Code #:nodoc: 675 | self.continent = 'AS' 676 | end 677 | class TZA < Code #:nodoc: 678 | self.continent = 'AF' 679 | end 680 | class UKR < Code #:nodoc: 681 | self.continent = 'EU' 682 | end 683 | class UGA < Code #:nodoc: 684 | self.continent = 'AF' 685 | end 686 | class UMI < Code #:nodoc: 687 | self.continent = 'OC' 688 | end 689 | class USA < Code #:nodoc: 690 | self.continent = 'NA' 691 | end 692 | class URY < Code #:nodoc: 693 | self.continent = 'SA' 694 | end 695 | class UZB < Code #:nodoc: 696 | self.continent = 'AS' 697 | end 698 | class VAT < Code #:nodoc: 699 | self.continent = 'EU' 700 | end 701 | class VCT < Code #:nodoc: 702 | self.continent = 'NA' 703 | end 704 | class VEN < Code #:nodoc: 705 | self.continent = 'SA' 706 | end 707 | class VGB < Code #:nodoc: 708 | self.continent = 'NA' 709 | end 710 | class VIR < Code #:nodoc: 711 | self.continent = 'NA' 712 | end 713 | class VNM < Code #:nodoc: 714 | self.continent = 'AS' 715 | end 716 | class VUT < Code #:nodoc: 717 | self.continent = 'OC' 718 | end 719 | class WLF < Code #:nodoc: 720 | self.continent = 'OC' 721 | end 722 | class WSM < Code #:nodoc: 723 | self.continent = 'OC' 724 | end 725 | class YEM < Code #:nodoc: 726 | self.continent = 'AS' 727 | end 728 | class MYT < Code #:nodoc: 729 | self.continent = 'AF' 730 | end 731 | class ZAF < Code #:nodoc: 732 | self.continent = 'AF' 733 | end 734 | class ZMB < Code #:nodoc: 735 | self.continent = 'AF' 736 | end 737 | class ZWE < Code #:nodoc: 738 | self.continent = 'AF' 739 | end 740 | end 741 | end 742 | -------------------------------------------------------------------------------- /lib/iso_country_codes/iso_13616_1.rb: -------------------------------------------------------------------------------- 1 | class IsoCountryCodes 2 | class Code 3 | class ALA < Code #:nodoc: 4 | self.iban = 'FI' 5 | end 6 | class ALB < Code #:nodoc: 7 | self.iban = 'AL' 8 | end 9 | class AND < Code #:nodoc: 10 | self.iban = 'AD' 11 | end 12 | class AUT < Code #:nodoc: 13 | self.iban = 'AT' 14 | end 15 | class AZE < Code #:nodoc: 16 | self.iban = 'AZ' 17 | end 18 | class BHR < Code #:nodoc: 19 | self.iban = 'BH' 20 | end 21 | class BEL < Code #:nodoc: 22 | self.iban = 'BE' 23 | end 24 | class BIH < Code #:nodoc: 25 | self.iban = 'BA' 26 | end 27 | class BRA < Code #:nodoc: 28 | self.iban = 'BR' 29 | end 30 | class BGR < Code #:nodoc: 31 | self.iban = 'BG' 32 | end 33 | class CRI < Code #:nodoc: 34 | self.iban = 'CR' 35 | end 36 | class HRV < Code #:nodoc: 37 | self.iban = 'HR' 38 | end 39 | class CYP < Code #:nodoc: 40 | self.iban = 'CY' 41 | end 42 | class CZE < Code #:nodoc: 43 | self.iban = 'CZ' 44 | end 45 | class DNK < Code #:nodoc: 46 | self.iban = 'DK' 47 | end 48 | class FRO < Code #:nodoc: 49 | self.iban = 'FO' 50 | end 51 | class GRL < Code #:nodoc: 52 | self.iban = 'GL' 53 | end 54 | class DOM < Code #:nodoc: 55 | self.iban = 'DO' 56 | end 57 | class EST < Code #:nodoc: 58 | self.iban = 'EE' 59 | end 60 | class FIN < Code #:nodoc: 61 | self.iban = 'FI' 62 | end 63 | class FRA < Code #:nodoc: 64 | self.iban = 'FR' 65 | end 66 | class GEO < Code #:nodoc: 67 | self.iban = 'GE' 68 | end 69 | class DEU < Code #:nodoc: 70 | self.iban = 'DE' 71 | end 72 | class GGY < Code #:nodoc: 73 | self.iban = 'GB' 74 | end 75 | class GIB < Code #:nodoc: 76 | self.iban = 'GI' 77 | end 78 | class GRC < Code #:nodoc: 79 | self.iban = 'GR' 80 | end 81 | class GTM < Code #:nodoc: 82 | self.iban = 'GT' 83 | end 84 | class HUN < Code #:nodoc: 85 | self.iban = 'HU' 86 | end 87 | class IMN < Code #:nodoc: 88 | self.iban = 'GB' 89 | end 90 | class ISL < Code #:nodoc: 91 | self.iban = 'IS' 92 | end 93 | class IRL < Code #:nodoc: 94 | self.iban = 'IE' 95 | end 96 | class ISR < Code #:nodoc: 97 | self.iban = 'IL' 98 | end 99 | class ITA < Code #:nodoc: 100 | self.iban = 'IT' 101 | end 102 | class JEY < Code #:nodoc: 103 | self.iban = 'GB' 104 | end 105 | class JOR < Code #:nodoc: 106 | self.iban = 'JO' 107 | end 108 | class KAZ < Code #:nodoc: 109 | self.iban = 'KZ' 110 | end 111 | class KWT < Code #:nodoc: 112 | self.iban = 'KW' 113 | end 114 | class LVA < Code #:nodoc: 115 | self.iban = 'LV' 116 | end 117 | class LBN < Code #:nodoc: 118 | self.iban = 'LB' 119 | end 120 | class LIE < Code #:nodoc: 121 | self.iban = 'LI' 122 | end 123 | class LTU < Code #:nodoc: 124 | self.iban = 'LT' 125 | end 126 | class LUX < Code #:nodoc: 127 | self.iban = 'LU' 128 | end 129 | class MKD < Code #:nodoc: 130 | self.iban = 'MK' 131 | end 132 | class MLT < Code #:nodoc: 133 | self.iban = 'MT' 134 | end 135 | class MRT < Code #:nodoc: 136 | self.iban = 'MR' 137 | end 138 | class MUS < Code #:nodoc: 139 | self.iban = 'MU' 140 | end 141 | class MDA < Code #:nodoc: 142 | self.iban = 'MD' 143 | end 144 | class MCO < Code #:nodoc: 145 | self.iban = 'MC' 146 | end 147 | class MNE < Code #:nodoc: 148 | self.iban = 'ME' 149 | end 150 | class NLD < Code #:nodoc: 151 | self.iban = 'NL' 152 | end 153 | class NOR < Code #:nodoc: 154 | self.iban = 'NO' 155 | end 156 | class PAK < Code #:nodoc: 157 | self.iban = 'PK' 158 | end 159 | class PSE < Code #:nodoc: 160 | self.iban = 'PS' 161 | end 162 | class POL < Code #:nodoc: 163 | self.iban = 'PL' 164 | end 165 | class PRT < Code #:nodoc: 166 | self.iban = 'PT' 167 | end 168 | class QAT < Code #:nodoc: 169 | self.iban = 'QA' 170 | end 171 | class ROU < Code #:nodoc: 172 | self.iban = 'RO' 173 | end 174 | class SMR < Code #:nodoc: 175 | self.iban = 'SM' 176 | end 177 | class SAU < Code #:nodoc: 178 | self.iban = 'SA' 179 | end 180 | class SRB < Code #:nodoc: 181 | self.iban = 'RS' 182 | end 183 | class SVK < Code #:nodoc: 184 | self.iban = 'SK' 185 | end 186 | class SVN < Code #:nodoc: 187 | self.iban = 'SI' 188 | end 189 | class ESP < Code #:nodoc: 190 | self.iban = 'ES' 191 | end 192 | class SWE < Code #:nodoc: 193 | self.iban = 'SE' 194 | end 195 | class CHE < Code #:nodoc: 196 | self.iban = 'CH' 197 | end 198 | class TLS < Code #:nodoc: 199 | self.iban = 'TL' 200 | end 201 | class TUN < Code #:nodoc: 202 | self.iban = 'TN' 203 | end 204 | class TUR < Code #:nodoc: 205 | self.iban = 'TR' 206 | end 207 | class ARE < Code #:nodoc: 208 | self.iban = 'AU' 209 | end 210 | class GBR < Code #:nodoc: 211 | self.iban = 'GB' 212 | end 213 | class VGB < Code #:nodoc: 214 | self.iban = 'VG' 215 | end 216 | class GUF < Code #:nodoc: 217 | self.iban = 'FR' 218 | end 219 | class GLP < Code #:nodoc: 220 | self.iban = 'FR' 221 | end 222 | class MTQ < Code #:nodoc: 223 | self.iban = 'FR' 224 | end 225 | class MYT < Code #:nodoc: 226 | self.iban = 'FR' 227 | end 228 | class REU < Code #:nodoc: 229 | self.iban = 'FR' 230 | end 231 | class BLM < Code #:nodoc: 232 | self.iban = 'FR' 233 | end 234 | class MAF < Code #:nodoc: 235 | self.iban = 'FR' 236 | end 237 | class SPM < Code #:nodoc: 238 | self.iban = 'FR' 239 | end 240 | end # end Code 241 | end # IsoCountryCodes 242 | -------------------------------------------------------------------------------- /lib/iso_country_codes/iso_3166_1.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class IsoCountryCodes 4 | class Code 5 | class AFG < Code #:nodoc: 6 | self.numeric = %q{004} 7 | self.name = %q{Afghanistan} 8 | self.alpha2 = %q{AF} 9 | self.alpha3 = %q{AFG} 10 | end 11 | class ALA < Code #:nodoc: 12 | self.numeric = %q{248} 13 | self.name = %q{Åland Islands} 14 | self.alpha2 = %q{AX} 15 | self.alpha3 = %q{ALA} 16 | end 17 | class ALB < Code #:nodoc: 18 | self.numeric = %q{008} 19 | self.name = %q{Albania} 20 | self.alpha2 = %q{AL} 21 | self.alpha3 = %q{ALB} 22 | end 23 | class DZA < Code #:nodoc: 24 | self.numeric = %q{012} 25 | self.name = %q{Algeria} 26 | self.alpha2 = %q{DZ} 27 | self.alpha3 = %q{DZA} 28 | end 29 | class ASM < Code #:nodoc: 30 | self.numeric = %q{016} 31 | self.name = %q{American Samoa} 32 | self.alpha2 = %q{AS} 33 | self.alpha3 = %q{ASM} 34 | end 35 | class AND < Code #:nodoc: 36 | self.numeric = %q{020} 37 | self.name = %q{Andorra} 38 | self.alpha2 = %q{AD} 39 | self.alpha3 = %q{AND} 40 | end 41 | class AGO < Code #:nodoc: 42 | self.numeric = %q{024} 43 | self.name = %q{Angola} 44 | self.alpha2 = %q{AO} 45 | self.alpha3 = %q{AGO} 46 | end 47 | class AIA < Code #:nodoc: 48 | self.numeric = %q{660} 49 | self.name = %q{Anguilla} 50 | self.alpha2 = %q{AI} 51 | self.alpha3 = %q{AIA} 52 | end 53 | class ATA < Code #:nodoc: 54 | self.numeric = %q{010} 55 | self.name = %q{Antarctica} 56 | self.alpha2 = %q{AQ} 57 | self.alpha3 = %q{ATA} 58 | end 59 | class ATG < Code #:nodoc: 60 | self.numeric = %q{028} 61 | self.name = %q{Antigua and Barbuda} 62 | self.alpha2 = %q{AG} 63 | self.alpha3 = %q{ATG} 64 | end 65 | class ARG < Code #:nodoc: 66 | self.numeric = %q{032} 67 | self.name = %q{Argentina} 68 | self.alpha2 = %q{AR} 69 | self.alpha3 = %q{ARG} 70 | end 71 | class ARM < Code #:nodoc: 72 | self.numeric = %q{051} 73 | self.name = %q{Armenia} 74 | self.alpha2 = %q{AM} 75 | self.alpha3 = %q{ARM} 76 | end 77 | class ABW < Code #:nodoc: 78 | self.numeric = %q{533} 79 | self.name = %q{Aruba} 80 | self.alpha2 = %q{AW} 81 | self.alpha3 = %q{ABW} 82 | end 83 | class AUS < Code #:nodoc: 84 | self.numeric = %q{036} 85 | self.name = %q{Australia} 86 | self.alpha2 = %q{AU} 87 | self.alpha3 = %q{AUS} 88 | end 89 | class AUT < Code #:nodoc: 90 | self.numeric = %q{040} 91 | self.name = %q{Austria} 92 | self.alpha2 = %q{AT} 93 | self.alpha3 = %q{AUT} 94 | end 95 | class AZE < Code #:nodoc: 96 | self.numeric = %q{031} 97 | self.name = %q{Azerbaijan} 98 | self.alpha2 = %q{AZ} 99 | self.alpha3 = %q{AZE} 100 | end 101 | class BHS < Code #:nodoc: 102 | self.numeric = %q{044} 103 | self.name = %q{Bahamas} 104 | self.alpha2 = %q{BS} 105 | self.alpha3 = %q{BHS} 106 | end 107 | class BHR < Code #:nodoc: 108 | self.numeric = %q{048} 109 | self.name = %q{Bahrain} 110 | self.alpha2 = %q{BH} 111 | self.alpha3 = %q{BHR} 112 | end 113 | class BGD < Code #:nodoc: 114 | self.numeric = %q{050} 115 | self.name = %q{Bangladesh} 116 | self.alpha2 = %q{BD} 117 | self.alpha3 = %q{BGD} 118 | end 119 | class BRB < Code #:nodoc: 120 | self.numeric = %q{052} 121 | self.name = %q{Barbados} 122 | self.alpha2 = %q{BB} 123 | self.alpha3 = %q{BRB} 124 | end 125 | class BLR < Code #:nodoc: 126 | self.numeric = %q{112} 127 | self.name = %q{Belarus} 128 | self.alpha2 = %q{BY} 129 | self.alpha3 = %q{BLR} 130 | end 131 | class BEL < Code #:nodoc: 132 | self.numeric = %q{056} 133 | self.name = %q{Belgium} 134 | self.alpha2 = %q{BE} 135 | self.alpha3 = %q{BEL} 136 | end 137 | class BLZ < Code #:nodoc: 138 | self.numeric = %q{084} 139 | self.name = %q{Belize} 140 | self.alpha2 = %q{BZ} 141 | self.alpha3 = %q{BLZ} 142 | end 143 | class BEN < Code #:nodoc: 144 | self.numeric = %q{204} 145 | self.name = %q{Benin} 146 | self.alpha2 = %q{BJ} 147 | self.alpha3 = %q{BEN} 148 | end 149 | class BMU < Code #:nodoc: 150 | self.numeric = %q{060} 151 | self.name = %q{Bermuda} 152 | self.alpha2 = %q{BM} 153 | self.alpha3 = %q{BMU} 154 | end 155 | class BTN < Code #:nodoc: 156 | self.numeric = %q{064} 157 | self.name = %q{Bhutan} 158 | self.alpha2 = %q{BT} 159 | self.alpha3 = %q{BTN} 160 | end 161 | class BOL < Code #:nodoc: 162 | self.numeric = %q{068} 163 | self.name = %q{Bolivia (Plurinational State of)} 164 | self.alpha2 = %q{BO} 165 | self.alpha3 = %q{BOL} 166 | end 167 | class BES < Code #:nodoc: 168 | self.numeric = %q{535} 169 | self.name = %q{Bonaire, Sint Eustatius and Saba} 170 | self.alpha2 = %q{BQ} 171 | self.alpha3 = %q{BES} 172 | end 173 | class BIH < Code #:nodoc: 174 | self.numeric = %q{070} 175 | self.name = %q{Bosnia and Herzegovina} 176 | self.alpha2 = %q{BA} 177 | self.alpha3 = %q{BIH} 178 | end 179 | class BWA < Code #:nodoc: 180 | self.numeric = %q{072} 181 | self.name = %q{Botswana} 182 | self.alpha2 = %q{BW} 183 | self.alpha3 = %q{BWA} 184 | end 185 | class BVT < Code #:nodoc: 186 | self.numeric = %q{074} 187 | self.name = %q{Bouvet Island} 188 | self.alpha2 = %q{BV} 189 | self.alpha3 = %q{BVT} 190 | end 191 | class BRA < Code #:nodoc: 192 | self.numeric = %q{076} 193 | self.name = %q{Brazil} 194 | self.alpha2 = %q{BR} 195 | self.alpha3 = %q{BRA} 196 | end 197 | class IOT < Code #:nodoc: 198 | self.numeric = %q{086} 199 | self.name = %q{British Indian Ocean Territory} 200 | self.alpha2 = %q{IO} 201 | self.alpha3 = %q{IOT} 202 | end 203 | class BRN < Code #:nodoc: 204 | self.numeric = %q{096} 205 | self.name = %q{Brunei Darussalam} 206 | self.alpha2 = %q{BN} 207 | self.alpha3 = %q{BRN} 208 | end 209 | class BGR < Code #:nodoc: 210 | self.numeric = %q{100} 211 | self.name = %q{Bulgaria} 212 | self.alpha2 = %q{BG} 213 | self.alpha3 = %q{BGR} 214 | end 215 | class BFA < Code #:nodoc: 216 | self.numeric = %q{854} 217 | self.name = %q{Burkina Faso} 218 | self.alpha2 = %q{BF} 219 | self.alpha3 = %q{BFA} 220 | end 221 | class BDI < Code #:nodoc: 222 | self.numeric = %q{108} 223 | self.name = %q{Burundi} 224 | self.alpha2 = %q{BI} 225 | self.alpha3 = %q{BDI} 226 | end 227 | class CPV < Code #:nodoc: 228 | self.numeric = %q{132} 229 | self.name = %q{Cabo Verde} 230 | self.alpha2 = %q{CV} 231 | self.alpha3 = %q{CPV} 232 | end 233 | class KHM < Code #:nodoc: 234 | self.numeric = %q{116} 235 | self.name = %q{Cambodia} 236 | self.alpha2 = %q{KH} 237 | self.alpha3 = %q{KHM} 238 | end 239 | class CMR < Code #:nodoc: 240 | self.numeric = %q{120} 241 | self.name = %q{Cameroon} 242 | self.alpha2 = %q{CM} 243 | self.alpha3 = %q{CMR} 244 | end 245 | class CAN < Code #:nodoc: 246 | self.numeric = %q{124} 247 | self.name = %q{Canada} 248 | self.alpha2 = %q{CA} 249 | self.alpha3 = %q{CAN} 250 | end 251 | class CYM < Code #:nodoc: 252 | self.numeric = %q{136} 253 | self.name = %q{Cayman Islands} 254 | self.alpha2 = %q{KY} 255 | self.alpha3 = %q{CYM} 256 | end 257 | class CAF < Code #:nodoc: 258 | self.numeric = %q{140} 259 | self.name = %q{Central African Republic} 260 | self.alpha2 = %q{CF} 261 | self.alpha3 = %q{CAF} 262 | end 263 | class TCD < Code #:nodoc: 264 | self.numeric = %q{148} 265 | self.name = %q{Chad} 266 | self.alpha2 = %q{TD} 267 | self.alpha3 = %q{TCD} 268 | end 269 | class CHL < Code #:nodoc: 270 | self.numeric = %q{152} 271 | self.name = %q{Chile} 272 | self.alpha2 = %q{CL} 273 | self.alpha3 = %q{CHL} 274 | end 275 | class CHN < Code #:nodoc: 276 | self.numeric = %q{156} 277 | self.name = %q{China} 278 | self.alpha2 = %q{CN} 279 | self.alpha3 = %q{CHN} 280 | end 281 | class CXR < Code #:nodoc: 282 | self.numeric = %q{162} 283 | self.name = %q{Christmas Island} 284 | self.alpha2 = %q{CX} 285 | self.alpha3 = %q{CXR} 286 | end 287 | class CCK < Code #:nodoc: 288 | self.numeric = %q{166} 289 | self.name = %q{Cocos (Keeling) Islands} 290 | self.alpha2 = %q{CC} 291 | self.alpha3 = %q{CCK} 292 | end 293 | class COL < Code #:nodoc: 294 | self.numeric = %q{170} 295 | self.name = %q{Colombia} 296 | self.alpha2 = %q{CO} 297 | self.alpha3 = %q{COL} 298 | end 299 | class COM < Code #:nodoc: 300 | self.numeric = %q{174} 301 | self.name = %q{Comoros} 302 | self.alpha2 = %q{KM} 303 | self.alpha3 = %q{COM} 304 | end 305 | class COG < Code #:nodoc: 306 | self.numeric = %q{178} 307 | self.name = %q{Congo} 308 | self.alpha2 = %q{CG} 309 | self.alpha3 = %q{COG} 310 | end 311 | class COD < Code #:nodoc: 312 | self.numeric = %q{180} 313 | self.name = %q{Congo (Democratic Republic of the)} 314 | self.alpha2 = %q{CD} 315 | self.alpha3 = %q{COD} 316 | end 317 | class COK < Code #:nodoc: 318 | self.numeric = %q{184} 319 | self.name = %q{Cook Islands} 320 | self.alpha2 = %q{CK} 321 | self.alpha3 = %q{COK} 322 | end 323 | class CRI < Code #:nodoc: 324 | self.numeric = %q{188} 325 | self.name = %q{Costa Rica} 326 | self.alpha2 = %q{CR} 327 | self.alpha3 = %q{CRI} 328 | end 329 | class CIV < Code #:nodoc: 330 | self.numeric = %q{384} 331 | self.name = %q{Côte d'Ivoire} 332 | self.alpha2 = %q{CI} 333 | self.alpha3 = %q{CIV} 334 | end 335 | class HRV < Code #:nodoc: 336 | self.numeric = %q{191} 337 | self.name = %q{Croatia} 338 | self.alpha2 = %q{HR} 339 | self.alpha3 = %q{HRV} 340 | end 341 | class CUB < Code #:nodoc: 342 | self.numeric = %q{192} 343 | self.name = %q{Cuba} 344 | self.alpha2 = %q{CU} 345 | self.alpha3 = %q{CUB} 346 | end 347 | class CUW < Code #:nodoc: 348 | self.numeric = %q{531} 349 | self.name = %q{Curaçao} 350 | self.alpha2 = %q{CW} 351 | self.alpha3 = %q{CUW} 352 | end 353 | class CYP < Code #:nodoc: 354 | self.numeric = %q{196} 355 | self.name = %q{Cyprus} 356 | self.alpha2 = %q{CY} 357 | self.alpha3 = %q{CYP} 358 | end 359 | class CZE < Code #:nodoc: 360 | self.numeric = %q{203} 361 | self.name = %q{Czechia} 362 | self.alpha2 = %q{CZ} 363 | self.alpha3 = %q{CZE} 364 | end 365 | class DNK < Code #:nodoc: 366 | self.numeric = %q{208} 367 | self.name = %q{Denmark} 368 | self.alpha2 = %q{DK} 369 | self.alpha3 = %q{DNK} 370 | end 371 | class DJI < Code #:nodoc: 372 | self.numeric = %q{262} 373 | self.name = %q{Djibouti} 374 | self.alpha2 = %q{DJ} 375 | self.alpha3 = %q{DJI} 376 | end 377 | class DMA < Code #:nodoc: 378 | self.numeric = %q{212} 379 | self.name = %q{Dominica} 380 | self.alpha2 = %q{DM} 381 | self.alpha3 = %q{DMA} 382 | end 383 | class DOM < Code #:nodoc: 384 | self.numeric = %q{214} 385 | self.name = %q{Dominican Republic} 386 | self.alpha2 = %q{DO} 387 | self.alpha3 = %q{DOM} 388 | end 389 | class ECU < Code #:nodoc: 390 | self.numeric = %q{218} 391 | self.name = %q{Ecuador} 392 | self.alpha2 = %q{EC} 393 | self.alpha3 = %q{ECU} 394 | end 395 | class EGY < Code #:nodoc: 396 | self.numeric = %q{818} 397 | self.name = %q{Egypt} 398 | self.alpha2 = %q{EG} 399 | self.alpha3 = %q{EGY} 400 | end 401 | class SLV < Code #:nodoc: 402 | self.numeric = %q{222} 403 | self.name = %q{El Salvador} 404 | self.alpha2 = %q{SV} 405 | self.alpha3 = %q{SLV} 406 | end 407 | class GNQ < Code #:nodoc: 408 | self.numeric = %q{226} 409 | self.name = %q{Equatorial Guinea} 410 | self.alpha2 = %q{GQ} 411 | self.alpha3 = %q{GNQ} 412 | end 413 | class ERI < Code #:nodoc: 414 | self.numeric = %q{232} 415 | self.name = %q{Eritrea} 416 | self.alpha2 = %q{ER} 417 | self.alpha3 = %q{ERI} 418 | end 419 | class EST < Code #:nodoc: 420 | self.numeric = %q{233} 421 | self.name = %q{Estonia} 422 | self.alpha2 = %q{EE} 423 | self.alpha3 = %q{EST} 424 | end 425 | class ETH < Code #:nodoc: 426 | self.numeric = %q{231} 427 | self.name = %q{Ethiopia} 428 | self.alpha2 = %q{ET} 429 | self.alpha3 = %q{ETH} 430 | end 431 | class FLK < Code #:nodoc: 432 | self.numeric = %q{238} 433 | self.name = %q{Falkland Islands (Malvinas)} 434 | self.alpha2 = %q{FK} 435 | self.alpha3 = %q{FLK} 436 | end 437 | class FRO < Code #:nodoc: 438 | self.numeric = %q{234} 439 | self.name = %q{Faroe Islands} 440 | self.alpha2 = %q{FO} 441 | self.alpha3 = %q{FRO} 442 | end 443 | class FJI < Code #:nodoc: 444 | self.numeric = %q{242} 445 | self.name = %q{Fiji} 446 | self.alpha2 = %q{FJ} 447 | self.alpha3 = %q{FJI} 448 | end 449 | class FIN < Code #:nodoc: 450 | self.numeric = %q{246} 451 | self.name = %q{Finland} 452 | self.alpha2 = %q{FI} 453 | self.alpha3 = %q{FIN} 454 | end 455 | class FRA < Code #:nodoc: 456 | self.numeric = %q{250} 457 | self.name = %q{France} 458 | self.alpha2 = %q{FR} 459 | self.alpha3 = %q{FRA} 460 | end 461 | class GUF < Code #:nodoc: 462 | self.numeric = %q{254} 463 | self.name = %q{French Guiana} 464 | self.alpha2 = %q{GF} 465 | self.alpha3 = %q{GUF} 466 | end 467 | class PYF < Code #:nodoc: 468 | self.numeric = %q{258} 469 | self.name = %q{French Polynesia} 470 | self.alpha2 = %q{PF} 471 | self.alpha3 = %q{PYF} 472 | end 473 | class ATF < Code #:nodoc: 474 | self.numeric = %q{260} 475 | self.name = %q{French Southern Territories} 476 | self.alpha2 = %q{TF} 477 | self.alpha3 = %q{ATF} 478 | end 479 | class GAB < Code #:nodoc: 480 | self.numeric = %q{266} 481 | self.name = %q{Gabon} 482 | self.alpha2 = %q{GA} 483 | self.alpha3 = %q{GAB} 484 | end 485 | class GMB < Code #:nodoc: 486 | self.numeric = %q{270} 487 | self.name = %q{Gambia} 488 | self.alpha2 = %q{GM} 489 | self.alpha3 = %q{GMB} 490 | end 491 | class GEO < Code #:nodoc: 492 | self.numeric = %q{268} 493 | self.name = %q{Georgia} 494 | self.alpha2 = %q{GE} 495 | self.alpha3 = %q{GEO} 496 | end 497 | class DEU < Code #:nodoc: 498 | self.numeric = %q{276} 499 | self.name = %q{Germany} 500 | self.alpha2 = %q{DE} 501 | self.alpha3 = %q{DEU} 502 | end 503 | class GHA < Code #:nodoc: 504 | self.numeric = %q{288} 505 | self.name = %q{Ghana} 506 | self.alpha2 = %q{GH} 507 | self.alpha3 = %q{GHA} 508 | end 509 | class GIB < Code #:nodoc: 510 | self.numeric = %q{292} 511 | self.name = %q{Gibraltar} 512 | self.alpha2 = %q{GI} 513 | self.alpha3 = %q{GIB} 514 | end 515 | class GRC < Code #:nodoc: 516 | self.numeric = %q{300} 517 | self.name = %q{Greece} 518 | self.alpha2 = %q{GR} 519 | self.alpha3 = %q{GRC} 520 | end 521 | class GRL < Code #:nodoc: 522 | self.numeric = %q{304} 523 | self.name = %q{Greenland} 524 | self.alpha2 = %q{GL} 525 | self.alpha3 = %q{GRL} 526 | end 527 | class GRD < Code #:nodoc: 528 | self.numeric = %q{308} 529 | self.name = %q{Grenada} 530 | self.alpha2 = %q{GD} 531 | self.alpha3 = %q{GRD} 532 | end 533 | class GLP < Code #:nodoc: 534 | self.numeric = %q{312} 535 | self.name = %q{Guadeloupe} 536 | self.alpha2 = %q{GP} 537 | self.alpha3 = %q{GLP} 538 | end 539 | class GUM < Code #:nodoc: 540 | self.numeric = %q{316} 541 | self.name = %q{Guam} 542 | self.alpha2 = %q{GU} 543 | self.alpha3 = %q{GUM} 544 | end 545 | class GTM < Code #:nodoc: 546 | self.numeric = %q{320} 547 | self.name = %q{Guatemala} 548 | self.alpha2 = %q{GT} 549 | self.alpha3 = %q{GTM} 550 | end 551 | class GGY < Code #:nodoc: 552 | self.numeric = %q{831} 553 | self.name = %q{Guernsey} 554 | self.alpha2 = %q{GG} 555 | self.alpha3 = %q{GGY} 556 | end 557 | class GIN < Code #:nodoc: 558 | self.numeric = %q{324} 559 | self.name = %q{Guinea} 560 | self.alpha2 = %q{GN} 561 | self.alpha3 = %q{GIN} 562 | end 563 | class GNB < Code #:nodoc: 564 | self.numeric = %q{624} 565 | self.name = %q{Guinea-Bissau} 566 | self.alpha2 = %q{GW} 567 | self.alpha3 = %q{GNB} 568 | end 569 | class GUY < Code #:nodoc: 570 | self.numeric = %q{328} 571 | self.name = %q{Guyana} 572 | self.alpha2 = %q{GY} 573 | self.alpha3 = %q{GUY} 574 | end 575 | class HTI < Code #:nodoc: 576 | self.numeric = %q{332} 577 | self.name = %q{Haiti} 578 | self.alpha2 = %q{HT} 579 | self.alpha3 = %q{HTI} 580 | end 581 | class HMD < Code #:nodoc: 582 | self.numeric = %q{334} 583 | self.name = %q{Heard Island and McDonald Islands} 584 | self.alpha2 = %q{HM} 585 | self.alpha3 = %q{HMD} 586 | end 587 | class VAT < Code #:nodoc: 588 | self.numeric = %q{336} 589 | self.name = %q{Holy See} 590 | self.alpha2 = %q{VA} 591 | self.alpha3 = %q{VAT} 592 | end 593 | class HND < Code #:nodoc: 594 | self.numeric = %q{340} 595 | self.name = %q{Honduras} 596 | self.alpha2 = %q{HN} 597 | self.alpha3 = %q{HND} 598 | end 599 | class HKG < Code #:nodoc: 600 | self.numeric = %q{344} 601 | self.name = %q{Hong Kong} 602 | self.alpha2 = %q{HK} 603 | self.alpha3 = %q{HKG} 604 | end 605 | class HUN < Code #:nodoc: 606 | self.numeric = %q{348} 607 | self.name = %q{Hungary} 608 | self.alpha2 = %q{HU} 609 | self.alpha3 = %q{HUN} 610 | end 611 | class ISL < Code #:nodoc: 612 | self.numeric = %q{352} 613 | self.name = %q{Iceland} 614 | self.alpha2 = %q{IS} 615 | self.alpha3 = %q{ISL} 616 | end 617 | class IND < Code #:nodoc: 618 | self.numeric = %q{356} 619 | self.name = %q{India} 620 | self.alpha2 = %q{IN} 621 | self.alpha3 = %q{IND} 622 | end 623 | class IDN < Code #:nodoc: 624 | self.numeric = %q{360} 625 | self.name = %q{Indonesia} 626 | self.alpha2 = %q{ID} 627 | self.alpha3 = %q{IDN} 628 | end 629 | class IRN < Code #:nodoc: 630 | self.numeric = %q{364} 631 | self.name = %q{Iran (Islamic Republic of)} 632 | self.alpha2 = %q{IR} 633 | self.alpha3 = %q{IRN} 634 | end 635 | class IRQ < Code #:nodoc: 636 | self.numeric = %q{368} 637 | self.name = %q{Iraq} 638 | self.alpha2 = %q{IQ} 639 | self.alpha3 = %q{IRQ} 640 | end 641 | class IRL < Code #:nodoc: 642 | self.numeric = %q{372} 643 | self.name = %q{Ireland} 644 | self.alpha2 = %q{IE} 645 | self.alpha3 = %q{IRL} 646 | end 647 | class IMN < Code #:nodoc: 648 | self.numeric = %q{833} 649 | self.name = %q{Isle of Man} 650 | self.alpha2 = %q{IM} 651 | self.alpha3 = %q{IMN} 652 | end 653 | class ISR < Code #:nodoc: 654 | self.numeric = %q{376} 655 | self.name = %q{Israel} 656 | self.alpha2 = %q{IL} 657 | self.alpha3 = %q{ISR} 658 | end 659 | class ITA < Code #:nodoc: 660 | self.numeric = %q{380} 661 | self.name = %q{Italy} 662 | self.alpha2 = %q{IT} 663 | self.alpha3 = %q{ITA} 664 | end 665 | class JAM < Code #:nodoc: 666 | self.numeric = %q{388} 667 | self.name = %q{Jamaica} 668 | self.alpha2 = %q{JM} 669 | self.alpha3 = %q{JAM} 670 | end 671 | class JPN < Code #:nodoc: 672 | self.numeric = %q{392} 673 | self.name = %q{Japan} 674 | self.alpha2 = %q{JP} 675 | self.alpha3 = %q{JPN} 676 | end 677 | class JEY < Code #:nodoc: 678 | self.numeric = %q{832} 679 | self.name = %q{Jersey} 680 | self.alpha2 = %q{JE} 681 | self.alpha3 = %q{JEY} 682 | end 683 | class JOR < Code #:nodoc: 684 | self.numeric = %q{400} 685 | self.name = %q{Jordan} 686 | self.alpha2 = %q{JO} 687 | self.alpha3 = %q{JOR} 688 | end 689 | class KAZ < Code #:nodoc: 690 | self.numeric = %q{398} 691 | self.name = %q{Kazakhstan} 692 | self.alpha2 = %q{KZ} 693 | self.alpha3 = %q{KAZ} 694 | end 695 | class KEN < Code #:nodoc: 696 | self.numeric = %q{404} 697 | self.name = %q{Kenya} 698 | self.alpha2 = %q{KE} 699 | self.alpha3 = %q{KEN} 700 | end 701 | class KIR < Code #:nodoc: 702 | self.numeric = %q{296} 703 | self.name = %q{Kiribati} 704 | self.alpha2 = %q{KI} 705 | self.alpha3 = %q{KIR} 706 | end 707 | class PRK < Code #:nodoc: 708 | self.numeric = %q{408} 709 | self.name = %q{Korea (Democratic People's Republic of)} 710 | self.alpha2 = %q{KP} 711 | self.alpha3 = %q{PRK} 712 | end 713 | class KOR < Code #:nodoc: 714 | self.numeric = %q{410} 715 | self.name = %q{Korea (Republic of)} 716 | self.alpha2 = %q{KR} 717 | self.alpha3 = %q{KOR} 718 | end 719 | class KWT < Code #:nodoc: 720 | self.numeric = %q{414} 721 | self.name = %q{Kuwait} 722 | self.alpha2 = %q{KW} 723 | self.alpha3 = %q{KWT} 724 | end 725 | class KGZ < Code #:nodoc: 726 | self.numeric = %q{417} 727 | self.name = %q{Kyrgyzstan} 728 | self.alpha2 = %q{KG} 729 | self.alpha3 = %q{KGZ} 730 | end 731 | class LAO < Code #:nodoc: 732 | self.numeric = %q{418} 733 | self.name = %q{Lao People's Democratic Republic} 734 | self.alpha2 = %q{LA} 735 | self.alpha3 = %q{LAO} 736 | end 737 | class LVA < Code #:nodoc: 738 | self.numeric = %q{428} 739 | self.name = %q{Latvia} 740 | self.alpha2 = %q{LV} 741 | self.alpha3 = %q{LVA} 742 | end 743 | class LBN < Code #:nodoc: 744 | self.numeric = %q{422} 745 | self.name = %q{Lebanon} 746 | self.alpha2 = %q{LB} 747 | self.alpha3 = %q{LBN} 748 | end 749 | class LSO < Code #:nodoc: 750 | self.numeric = %q{426} 751 | self.name = %q{Lesotho} 752 | self.alpha2 = %q{LS} 753 | self.alpha3 = %q{LSO} 754 | end 755 | class LBR < Code #:nodoc: 756 | self.numeric = %q{430} 757 | self.name = %q{Liberia} 758 | self.alpha2 = %q{LR} 759 | self.alpha3 = %q{LBR} 760 | end 761 | class LBY < Code #:nodoc: 762 | self.numeric = %q{434} 763 | self.name = %q{Libya} 764 | self.alpha2 = %q{LY} 765 | self.alpha3 = %q{LBY} 766 | end 767 | class LIE < Code #:nodoc: 768 | self.numeric = %q{438} 769 | self.name = %q{Liechtenstein} 770 | self.alpha2 = %q{LI} 771 | self.alpha3 = %q{LIE} 772 | end 773 | class LTU < Code #:nodoc: 774 | self.numeric = %q{440} 775 | self.name = %q{Lithuania} 776 | self.alpha2 = %q{LT} 777 | self.alpha3 = %q{LTU} 778 | end 779 | class LUX < Code #:nodoc: 780 | self.numeric = %q{442} 781 | self.name = %q{Luxembourg} 782 | self.alpha2 = %q{LU} 783 | self.alpha3 = %q{LUX} 784 | end 785 | class MAC < Code #:nodoc: 786 | self.numeric = %q{446} 787 | self.name = %q{Macao} 788 | self.alpha2 = %q{MO} 789 | self.alpha3 = %q{MAC} 790 | end 791 | class MKD < Code #:nodoc: 792 | self.numeric = %q{807} 793 | self.name = %q{Macedonia (the former Yugoslav Republic of)} 794 | self.alpha2 = %q{MK} 795 | self.alpha3 = %q{MKD} 796 | end 797 | class MDG < Code #:nodoc: 798 | self.numeric = %q{450} 799 | self.name = %q{Madagascar} 800 | self.alpha2 = %q{MG} 801 | self.alpha3 = %q{MDG} 802 | end 803 | class MWI < Code #:nodoc: 804 | self.numeric = %q{454} 805 | self.name = %q{Malawi} 806 | self.alpha2 = %q{MW} 807 | self.alpha3 = %q{MWI} 808 | end 809 | class MYS < Code #:nodoc: 810 | self.numeric = %q{458} 811 | self.name = %q{Malaysia} 812 | self.alpha2 = %q{MY} 813 | self.alpha3 = %q{MYS} 814 | end 815 | class MDV < Code #:nodoc: 816 | self.numeric = %q{462} 817 | self.name = %q{Maldives} 818 | self.alpha2 = %q{MV} 819 | self.alpha3 = %q{MDV} 820 | end 821 | class MLI < Code #:nodoc: 822 | self.numeric = %q{466} 823 | self.name = %q{Mali} 824 | self.alpha2 = %q{ML} 825 | self.alpha3 = %q{MLI} 826 | end 827 | class MLT < Code #:nodoc: 828 | self.numeric = %q{470} 829 | self.name = %q{Malta} 830 | self.alpha2 = %q{MT} 831 | self.alpha3 = %q{MLT} 832 | end 833 | class MHL < Code #:nodoc: 834 | self.numeric = %q{584} 835 | self.name = %q{Marshall Islands} 836 | self.alpha2 = %q{MH} 837 | self.alpha3 = %q{MHL} 838 | end 839 | class MTQ < Code #:nodoc: 840 | self.numeric = %q{474} 841 | self.name = %q{Martinique} 842 | self.alpha2 = %q{MQ} 843 | self.alpha3 = %q{MTQ} 844 | end 845 | class MRT < Code #:nodoc: 846 | self.numeric = %q{478} 847 | self.name = %q{Mauritania} 848 | self.alpha2 = %q{MR} 849 | self.alpha3 = %q{MRT} 850 | end 851 | class MUS < Code #:nodoc: 852 | self.numeric = %q{480} 853 | self.name = %q{Mauritius} 854 | self.alpha2 = %q{MU} 855 | self.alpha3 = %q{MUS} 856 | end 857 | class MYT < Code #:nodoc: 858 | self.numeric = %q{175} 859 | self.name = %q{Mayotte} 860 | self.alpha2 = %q{YT} 861 | self.alpha3 = %q{MYT} 862 | end 863 | class MEX < Code #:nodoc: 864 | self.numeric = %q{484} 865 | self.name = %q{Mexico} 866 | self.alpha2 = %q{MX} 867 | self.alpha3 = %q{MEX} 868 | end 869 | class FSM < Code #:nodoc: 870 | self.numeric = %q{583} 871 | self.name = %q{Micronesia (Federated States of)} 872 | self.alpha2 = %q{FM} 873 | self.alpha3 = %q{FSM} 874 | end 875 | class MDA < Code #:nodoc: 876 | self.numeric = %q{498} 877 | self.name = %q{Moldova (Republic of)} 878 | self.alpha2 = %q{MD} 879 | self.alpha3 = %q{MDA} 880 | end 881 | class MCO < Code #:nodoc: 882 | self.numeric = %q{492} 883 | self.name = %q{Monaco} 884 | self.alpha2 = %q{MC} 885 | self.alpha3 = %q{MCO} 886 | end 887 | class MNG < Code #:nodoc: 888 | self.numeric = %q{496} 889 | self.name = %q{Mongolia} 890 | self.alpha2 = %q{MN} 891 | self.alpha3 = %q{MNG} 892 | end 893 | class MNE < Code #:nodoc: 894 | self.numeric = %q{499} 895 | self.name = %q{Montenegro} 896 | self.alpha2 = %q{ME} 897 | self.alpha3 = %q{MNE} 898 | end 899 | class MSR < Code #:nodoc: 900 | self.numeric = %q{500} 901 | self.name = %q{Montserrat} 902 | self.alpha2 = %q{MS} 903 | self.alpha3 = %q{MSR} 904 | end 905 | class MAR < Code #:nodoc: 906 | self.numeric = %q{504} 907 | self.name = %q{Morocco} 908 | self.alpha2 = %q{MA} 909 | self.alpha3 = %q{MAR} 910 | end 911 | class MOZ < Code #:nodoc: 912 | self.numeric = %q{508} 913 | self.name = %q{Mozambique} 914 | self.alpha2 = %q{MZ} 915 | self.alpha3 = %q{MOZ} 916 | end 917 | class MMR < Code #:nodoc: 918 | self.numeric = %q{104} 919 | self.name = %q{Myanmar} 920 | self.alpha2 = %q{MM} 921 | self.alpha3 = %q{MMR} 922 | end 923 | class NAM < Code #:nodoc: 924 | self.numeric = %q{516} 925 | self.name = %q{Namibia} 926 | self.alpha2 = %q{NA} 927 | self.alpha3 = %q{NAM} 928 | end 929 | class NRU < Code #:nodoc: 930 | self.numeric = %q{520} 931 | self.name = %q{Nauru} 932 | self.alpha2 = %q{NR} 933 | self.alpha3 = %q{NRU} 934 | end 935 | class NPL < Code #:nodoc: 936 | self.numeric = %q{524} 937 | self.name = %q{Nepal} 938 | self.alpha2 = %q{NP} 939 | self.alpha3 = %q{NPL} 940 | end 941 | class NLD < Code #:nodoc: 942 | self.numeric = %q{528} 943 | self.name = %q{Netherlands} 944 | self.alpha2 = %q{NL} 945 | self.alpha3 = %q{NLD} 946 | end 947 | class NCL < Code #:nodoc: 948 | self.numeric = %q{540} 949 | self.name = %q{New Caledonia} 950 | self.alpha2 = %q{NC} 951 | self.alpha3 = %q{NCL} 952 | end 953 | class NZL < Code #:nodoc: 954 | self.numeric = %q{554} 955 | self.name = %q{New Zealand} 956 | self.alpha2 = %q{NZ} 957 | self.alpha3 = %q{NZL} 958 | end 959 | class NIC < Code #:nodoc: 960 | self.numeric = %q{558} 961 | self.name = %q{Nicaragua} 962 | self.alpha2 = %q{NI} 963 | self.alpha3 = %q{NIC} 964 | end 965 | class NER < Code #:nodoc: 966 | self.numeric = %q{562} 967 | self.name = %q{Niger} 968 | self.alpha2 = %q{NE} 969 | self.alpha3 = %q{NER} 970 | end 971 | class NGA < Code #:nodoc: 972 | self.numeric = %q{566} 973 | self.name = %q{Nigeria} 974 | self.alpha2 = %q{NG} 975 | self.alpha3 = %q{NGA} 976 | end 977 | class NIU < Code #:nodoc: 978 | self.numeric = %q{570} 979 | self.name = %q{Niue} 980 | self.alpha2 = %q{NU} 981 | self.alpha3 = %q{NIU} 982 | end 983 | class NFK < Code #:nodoc: 984 | self.numeric = %q{574} 985 | self.name = %q{Norfolk Island} 986 | self.alpha2 = %q{NF} 987 | self.alpha3 = %q{NFK} 988 | end 989 | class MNP < Code #:nodoc: 990 | self.numeric = %q{580} 991 | self.name = %q{Northern Mariana Islands} 992 | self.alpha2 = %q{MP} 993 | self.alpha3 = %q{MNP} 994 | end 995 | class NOR < Code #:nodoc: 996 | self.numeric = %q{578} 997 | self.name = %q{Norway} 998 | self.alpha2 = %q{NO} 999 | self.alpha3 = %q{NOR} 1000 | end 1001 | class OMN < Code #:nodoc: 1002 | self.numeric = %q{512} 1003 | self.name = %q{Oman} 1004 | self.alpha2 = %q{OM} 1005 | self.alpha3 = %q{OMN} 1006 | end 1007 | class PAK < Code #:nodoc: 1008 | self.numeric = %q{586} 1009 | self.name = %q{Pakistan} 1010 | self.alpha2 = %q{PK} 1011 | self.alpha3 = %q{PAK} 1012 | end 1013 | class PLW < Code #:nodoc: 1014 | self.numeric = %q{585} 1015 | self.name = %q{Palau} 1016 | self.alpha2 = %q{PW} 1017 | self.alpha3 = %q{PLW} 1018 | end 1019 | class PSE < Code #:nodoc: 1020 | self.numeric = %q{275} 1021 | self.name = %q{Palestine, State of} 1022 | self.alpha2 = %q{PS} 1023 | self.alpha3 = %q{PSE} 1024 | end 1025 | class PAN < Code #:nodoc: 1026 | self.numeric = %q{591} 1027 | self.name = %q{Panama} 1028 | self.alpha2 = %q{PA} 1029 | self.alpha3 = %q{PAN} 1030 | end 1031 | class PNG < Code #:nodoc: 1032 | self.numeric = %q{598} 1033 | self.name = %q{Papua New Guinea} 1034 | self.alpha2 = %q{PG} 1035 | self.alpha3 = %q{PNG} 1036 | end 1037 | class PRY < Code #:nodoc: 1038 | self.numeric = %q{600} 1039 | self.name = %q{Paraguay} 1040 | self.alpha2 = %q{PY} 1041 | self.alpha3 = %q{PRY} 1042 | end 1043 | class PER < Code #:nodoc: 1044 | self.numeric = %q{604} 1045 | self.name = %q{Peru} 1046 | self.alpha2 = %q{PE} 1047 | self.alpha3 = %q{PER} 1048 | end 1049 | class PHL < Code #:nodoc: 1050 | self.numeric = %q{608} 1051 | self.name = %q{Philippines} 1052 | self.alpha2 = %q{PH} 1053 | self.alpha3 = %q{PHL} 1054 | end 1055 | class PCN < Code #:nodoc: 1056 | self.numeric = %q{612} 1057 | self.name = %q{Pitcairn} 1058 | self.alpha2 = %q{PN} 1059 | self.alpha3 = %q{PCN} 1060 | end 1061 | class POL < Code #:nodoc: 1062 | self.numeric = %q{616} 1063 | self.name = %q{Poland} 1064 | self.alpha2 = %q{PL} 1065 | self.alpha3 = %q{POL} 1066 | end 1067 | class PRT < Code #:nodoc: 1068 | self.numeric = %q{620} 1069 | self.name = %q{Portugal} 1070 | self.alpha2 = %q{PT} 1071 | self.alpha3 = %q{PRT} 1072 | end 1073 | class PRI < Code #:nodoc: 1074 | self.numeric = %q{630} 1075 | self.name = %q{Puerto Rico} 1076 | self.alpha2 = %q{PR} 1077 | self.alpha3 = %q{PRI} 1078 | end 1079 | class QAT < Code #:nodoc: 1080 | self.numeric = %q{634} 1081 | self.name = %q{Qatar} 1082 | self.alpha2 = %q{QA} 1083 | self.alpha3 = %q{QAT} 1084 | end 1085 | class REU < Code #:nodoc: 1086 | self.numeric = %q{638} 1087 | self.name = %q{Réunion} 1088 | self.alpha2 = %q{RE} 1089 | self.alpha3 = %q{REU} 1090 | end 1091 | class ROU < Code #:nodoc: 1092 | self.numeric = %q{642} 1093 | self.name = %q{Romania} 1094 | self.alpha2 = %q{RO} 1095 | self.alpha3 = %q{ROU} 1096 | end 1097 | class RUS < Code #:nodoc: 1098 | self.numeric = %q{643} 1099 | self.name = %q{Russian Federation} 1100 | self.alpha2 = %q{RU} 1101 | self.alpha3 = %q{RUS} 1102 | end 1103 | class RWA < Code #:nodoc: 1104 | self.numeric = %q{646} 1105 | self.name = %q{Rwanda} 1106 | self.alpha2 = %q{RW} 1107 | self.alpha3 = %q{RWA} 1108 | end 1109 | class BLM < Code #:nodoc: 1110 | self.numeric = %q{652} 1111 | self.name = %q{Saint Barthélemy} 1112 | self.alpha2 = %q{BL} 1113 | self.alpha3 = %q{BLM} 1114 | end 1115 | class SHN < Code #:nodoc: 1116 | self.numeric = %q{654} 1117 | self.name = %q{Saint Helena, Ascension and Tristan da Cunha} 1118 | self.alpha2 = %q{SH} 1119 | self.alpha3 = %q{SHN} 1120 | end 1121 | class KNA < Code #:nodoc: 1122 | self.numeric = %q{659} 1123 | self.name = %q{Saint Kitts and Nevis} 1124 | self.alpha2 = %q{KN} 1125 | self.alpha3 = %q{KNA} 1126 | end 1127 | class LCA < Code #:nodoc: 1128 | self.numeric = %q{662} 1129 | self.name = %q{Saint Lucia} 1130 | self.alpha2 = %q{LC} 1131 | self.alpha3 = %q{LCA} 1132 | end 1133 | class MAF < Code #:nodoc: 1134 | self.numeric = %q{663} 1135 | self.name = %q{Saint Martin (French part)} 1136 | self.alpha2 = %q{MF} 1137 | self.alpha3 = %q{MAF} 1138 | end 1139 | class SPM < Code #:nodoc: 1140 | self.numeric = %q{666} 1141 | self.name = %q{Saint Pierre and Miquelon} 1142 | self.alpha2 = %q{PM} 1143 | self.alpha3 = %q{SPM} 1144 | end 1145 | class VCT < Code #:nodoc: 1146 | self.numeric = %q{670} 1147 | self.name = %q{Saint Vincent and the Grenadines} 1148 | self.alpha2 = %q{VC} 1149 | self.alpha3 = %q{VCT} 1150 | end 1151 | class WSM < Code #:nodoc: 1152 | self.numeric = %q{882} 1153 | self.name = %q{Samoa} 1154 | self.alpha2 = %q{WS} 1155 | self.alpha3 = %q{WSM} 1156 | end 1157 | class SMR < Code #:nodoc: 1158 | self.numeric = %q{674} 1159 | self.name = %q{San Marino} 1160 | self.alpha2 = %q{SM} 1161 | self.alpha3 = %q{SMR} 1162 | end 1163 | class STP < Code #:nodoc: 1164 | self.numeric = %q{678} 1165 | self.name = %q{Sao Tome and Principe} 1166 | self.alpha2 = %q{ST} 1167 | self.alpha3 = %q{STP} 1168 | end 1169 | class SAU < Code #:nodoc: 1170 | self.numeric = %q{682} 1171 | self.name = %q{Saudi Arabia} 1172 | self.alpha2 = %q{SA} 1173 | self.alpha3 = %q{SAU} 1174 | end 1175 | class SEN < Code #:nodoc: 1176 | self.numeric = %q{686} 1177 | self.name = %q{Senegal} 1178 | self.alpha2 = %q{SN} 1179 | self.alpha3 = %q{SEN} 1180 | end 1181 | class SRB < Code #:nodoc: 1182 | self.numeric = %q{688} 1183 | self.name = %q{Serbia} 1184 | self.alpha2 = %q{RS} 1185 | self.alpha3 = %q{SRB} 1186 | end 1187 | class SYC < Code #:nodoc: 1188 | self.numeric = %q{690} 1189 | self.name = %q{Seychelles} 1190 | self.alpha2 = %q{SC} 1191 | self.alpha3 = %q{SYC} 1192 | end 1193 | class SLE < Code #:nodoc: 1194 | self.numeric = %q{694} 1195 | self.name = %q{Sierra Leone} 1196 | self.alpha2 = %q{SL} 1197 | self.alpha3 = %q{SLE} 1198 | end 1199 | class SGP < Code #:nodoc: 1200 | self.numeric = %q{702} 1201 | self.name = %q{Singapore} 1202 | self.alpha2 = %q{SG} 1203 | self.alpha3 = %q{SGP} 1204 | end 1205 | class SXM < Code #:nodoc: 1206 | self.numeric = %q{534} 1207 | self.name = %q{Sint Maarten (Dutch part)} 1208 | self.alpha2 = %q{SX} 1209 | self.alpha3 = %q{SXM} 1210 | end 1211 | class SVK < Code #:nodoc: 1212 | self.numeric = %q{703} 1213 | self.name = %q{Slovakia} 1214 | self.alpha2 = %q{SK} 1215 | self.alpha3 = %q{SVK} 1216 | end 1217 | class SVN < Code #:nodoc: 1218 | self.numeric = %q{705} 1219 | self.name = %q{Slovenia} 1220 | self.alpha2 = %q{SI} 1221 | self.alpha3 = %q{SVN} 1222 | end 1223 | class SLB < Code #:nodoc: 1224 | self.numeric = %q{090} 1225 | self.name = %q{Solomon Islands} 1226 | self.alpha2 = %q{SB} 1227 | self.alpha3 = %q{SLB} 1228 | end 1229 | class SOM < Code #:nodoc: 1230 | self.numeric = %q{706} 1231 | self.name = %q{Somalia} 1232 | self.alpha2 = %q{SO} 1233 | self.alpha3 = %q{SOM} 1234 | end 1235 | class ZAF < Code #:nodoc: 1236 | self.numeric = %q{710} 1237 | self.name = %q{South Africa} 1238 | self.alpha2 = %q{ZA} 1239 | self.alpha3 = %q{ZAF} 1240 | end 1241 | class SGS < Code #:nodoc: 1242 | self.numeric = %q{239} 1243 | self.name = %q{South Georgia and the South Sandwich Islands} 1244 | self.alpha2 = %q{GS} 1245 | self.alpha3 = %q{SGS} 1246 | end 1247 | class SSD < Code #:nodoc: 1248 | self.numeric = %q{728} 1249 | self.name = %q{South Sudan} 1250 | self.alpha2 = %q{SS} 1251 | self.alpha3 = %q{SSD} 1252 | end 1253 | class ESP < Code #:nodoc: 1254 | self.numeric = %q{724} 1255 | self.name = %q{Spain} 1256 | self.alpha2 = %q{ES} 1257 | self.alpha3 = %q{ESP} 1258 | end 1259 | class LKA < Code #:nodoc: 1260 | self.numeric = %q{144} 1261 | self.name = %q{Sri Lanka} 1262 | self.alpha2 = %q{LK} 1263 | self.alpha3 = %q{LKA} 1264 | end 1265 | class SDN < Code #:nodoc: 1266 | self.numeric = %q{729} 1267 | self.name = %q{Sudan} 1268 | self.alpha2 = %q{SD} 1269 | self.alpha3 = %q{SDN} 1270 | end 1271 | class SUR < Code #:nodoc: 1272 | self.numeric = %q{740} 1273 | self.name = %q{Suriname} 1274 | self.alpha2 = %q{SR} 1275 | self.alpha3 = %q{SUR} 1276 | end 1277 | class SJM < Code #:nodoc: 1278 | self.numeric = %q{744} 1279 | self.name = %q{Svalbard and Jan Mayen} 1280 | self.alpha2 = %q{SJ} 1281 | self.alpha3 = %q{SJM} 1282 | end 1283 | class SWZ < Code #:nodoc: 1284 | self.numeric = %q{748} 1285 | self.name = %q{Swaziland} 1286 | self.alpha2 = %q{SZ} 1287 | self.alpha3 = %q{SWZ} 1288 | end 1289 | class SWE < Code #:nodoc: 1290 | self.numeric = %q{752} 1291 | self.name = %q{Sweden} 1292 | self.alpha2 = %q{SE} 1293 | self.alpha3 = %q{SWE} 1294 | end 1295 | class CHE < Code #:nodoc: 1296 | self.numeric = %q{756} 1297 | self.name = %q{Switzerland} 1298 | self.alpha2 = %q{CH} 1299 | self.alpha3 = %q{CHE} 1300 | end 1301 | class SYR < Code #:nodoc: 1302 | self.numeric = %q{760} 1303 | self.name = %q{Syrian Arab Republic} 1304 | self.alpha2 = %q{SY} 1305 | self.alpha3 = %q{SYR} 1306 | end 1307 | class TWN < Code #:nodoc: 1308 | self.numeric = %q{158} 1309 | self.name = %q{Taiwan} 1310 | self.alpha2 = %q{TW} 1311 | self.alpha3 = %q{TWN} 1312 | end 1313 | class TJK < Code #:nodoc: 1314 | self.numeric = %q{762} 1315 | self.name = %q{Tajikistan} 1316 | self.alpha2 = %q{TJ} 1317 | self.alpha3 = %q{TJK} 1318 | end 1319 | class TZA < Code #:nodoc: 1320 | self.numeric = %q{834} 1321 | self.name = %q{Tanzania, United Republic of} 1322 | self.alpha2 = %q{TZ} 1323 | self.alpha3 = %q{TZA} 1324 | end 1325 | class THA < Code #:nodoc: 1326 | self.numeric = %q{764} 1327 | self.name = %q{Thailand} 1328 | self.alpha2 = %q{TH} 1329 | self.alpha3 = %q{THA} 1330 | end 1331 | class TLS < Code #:nodoc: 1332 | self.numeric = %q{626} 1333 | self.name = %q{Timor-Leste} 1334 | self.alpha2 = %q{TL} 1335 | self.alpha3 = %q{TLS} 1336 | end 1337 | class TGO < Code #:nodoc: 1338 | self.numeric = %q{768} 1339 | self.name = %q{Togo} 1340 | self.alpha2 = %q{TG} 1341 | self.alpha3 = %q{TGO} 1342 | end 1343 | class TKL < Code #:nodoc: 1344 | self.numeric = %q{772} 1345 | self.name = %q{Tokelau} 1346 | self.alpha2 = %q{TK} 1347 | self.alpha3 = %q{TKL} 1348 | end 1349 | class TON < Code #:nodoc: 1350 | self.numeric = %q{776} 1351 | self.name = %q{Tonga} 1352 | self.alpha2 = %q{TO} 1353 | self.alpha3 = %q{TON} 1354 | end 1355 | class TTO < Code #:nodoc: 1356 | self.numeric = %q{780} 1357 | self.name = %q{Trinidad and Tobago} 1358 | self.alpha2 = %q{TT} 1359 | self.alpha3 = %q{TTO} 1360 | end 1361 | class TUN < Code #:nodoc: 1362 | self.numeric = %q{788} 1363 | self.name = %q{Tunisia} 1364 | self.alpha2 = %q{TN} 1365 | self.alpha3 = %q{TUN} 1366 | end 1367 | class TUR < Code #:nodoc: 1368 | self.numeric = %q{792} 1369 | self.name = %q{Turkey} 1370 | self.alpha2 = %q{TR} 1371 | self.alpha3 = %q{TUR} 1372 | end 1373 | class TKM < Code #:nodoc: 1374 | self.numeric = %q{795} 1375 | self.name = %q{Turkmenistan} 1376 | self.alpha2 = %q{TM} 1377 | self.alpha3 = %q{TKM} 1378 | end 1379 | class TCA < Code #:nodoc: 1380 | self.numeric = %q{796} 1381 | self.name = %q{Turks and Caicos Islands} 1382 | self.alpha2 = %q{TC} 1383 | self.alpha3 = %q{TCA} 1384 | end 1385 | class TUV < Code #:nodoc: 1386 | self.numeric = %q{798} 1387 | self.name = %q{Tuvalu} 1388 | self.alpha2 = %q{TV} 1389 | self.alpha3 = %q{TUV} 1390 | end 1391 | class UGA < Code #:nodoc: 1392 | self.numeric = %q{800} 1393 | self.name = %q{Uganda} 1394 | self.alpha2 = %q{UG} 1395 | self.alpha3 = %q{UGA} 1396 | end 1397 | class UKR < Code #:nodoc: 1398 | self.numeric = %q{804} 1399 | self.name = %q{Ukraine} 1400 | self.alpha2 = %q{UA} 1401 | self.alpha3 = %q{UKR} 1402 | end 1403 | class ARE < Code #:nodoc: 1404 | self.numeric = %q{784} 1405 | self.name = %q{United Arab Emirates} 1406 | self.alpha2 = %q{AE} 1407 | self.alpha3 = %q{ARE} 1408 | end 1409 | class GBR < Code #:nodoc: 1410 | self.numeric = %q{826} 1411 | self.name = %q{United Kingdom of Great Britain and Northern Ireland} 1412 | self.alpha2 = %q{GB} 1413 | self.alpha3 = %q{GBR} 1414 | end 1415 | class USA < Code #:nodoc: 1416 | self.numeric = %q{840} 1417 | self.name = %q{United States of America} 1418 | self.alpha2 = %q{US} 1419 | self.alpha3 = %q{USA} 1420 | end 1421 | class UMI < Code #:nodoc: 1422 | self.numeric = %q{581} 1423 | self.name = %q{United States Minor Outlying Islands} 1424 | self.alpha2 = %q{UM} 1425 | self.alpha3 = %q{UMI} 1426 | end 1427 | class URY < Code #:nodoc: 1428 | self.numeric = %q{858} 1429 | self.name = %q{Uruguay} 1430 | self.alpha2 = %q{UY} 1431 | self.alpha3 = %q{URY} 1432 | end 1433 | class UZB < Code #:nodoc: 1434 | self.numeric = %q{860} 1435 | self.name = %q{Uzbekistan} 1436 | self.alpha2 = %q{UZ} 1437 | self.alpha3 = %q{UZB} 1438 | end 1439 | class VUT < Code #:nodoc: 1440 | self.numeric = %q{548} 1441 | self.name = %q{Vanuatu} 1442 | self.alpha2 = %q{VU} 1443 | self.alpha3 = %q{VUT} 1444 | end 1445 | class VEN < Code #:nodoc: 1446 | self.numeric = %q{862} 1447 | self.name = %q{Venezuela (Bolivarian Republic of)} 1448 | self.alpha2 = %q{VE} 1449 | self.alpha3 = %q{VEN} 1450 | end 1451 | class VNM < Code #:nodoc: 1452 | self.numeric = %q{704} 1453 | self.name = %q{Viet Nam} 1454 | self.alpha2 = %q{VN} 1455 | self.alpha3 = %q{VNM} 1456 | end 1457 | class VGB < Code #:nodoc: 1458 | self.numeric = %q{092} 1459 | self.name = %q{Virgin Islands (British)} 1460 | self.alpha2 = %q{VG} 1461 | self.alpha3 = %q{VGB} 1462 | end 1463 | class VIR < Code #:nodoc: 1464 | self.numeric = %q{850} 1465 | self.name = %q{Virgin Islands (U.S.)} 1466 | self.alpha2 = %q{VI} 1467 | self.alpha3 = %q{VIR} 1468 | end 1469 | class WLF < Code #:nodoc: 1470 | self.numeric = %q{876} 1471 | self.name = %q{Wallis and Futuna} 1472 | self.alpha2 = %q{WF} 1473 | self.alpha3 = %q{WLF} 1474 | end 1475 | class ESH < Code #:nodoc: 1476 | self.numeric = %q{732} 1477 | self.name = %q{Western Sahara} 1478 | self.alpha2 = %q{EH} 1479 | self.alpha3 = %q{ESH} 1480 | end 1481 | class YEM < Code #:nodoc: 1482 | self.numeric = %q{887} 1483 | self.name = %q{Yemen} 1484 | self.alpha2 = %q{YE} 1485 | self.alpha3 = %q{YEM} 1486 | end 1487 | class ZMB < Code #:nodoc: 1488 | self.numeric = %q{894} 1489 | self.name = %q{Zambia} 1490 | self.alpha2 = %q{ZM} 1491 | self.alpha3 = %q{ZMB} 1492 | end 1493 | class ZWE < Code #:nodoc: 1494 | self.numeric = %q{716} 1495 | self.name = %q{Zimbabwe} 1496 | self.alpha2 = %q{ZW} 1497 | self.alpha3 = %q{ZWE} 1498 | end 1499 | end # end Code 1500 | end # IsoCountryCodes 1501 | 1502 | -------------------------------------------------------------------------------- /lib/iso_country_codes/iso_4217.rb: -------------------------------------------------------------------------------- 1 | class IsoCountryCodes 2 | class Code 3 | class GBR < Code #:nodoc: 4 | self.main_currency = 'GBP' 5 | end 6 | class FJI < Code #:nodoc: 7 | self.main_currency = 'FJD' 8 | end 9 | class BLM < Code #:nodoc: 10 | self.main_currency = 'EUR' 11 | end 12 | class RUS < Code #:nodoc: 13 | self.main_currency = 'RUB' 14 | end 15 | class JOR < Code #:nodoc: 16 | self.main_currency = 'JOD' 17 | end 18 | class GEO < Code #:nodoc: 19 | self.main_currency = 'GEL' 20 | end 21 | class ATF < Code #:nodoc: 22 | self.main_currency = 'EUR' 23 | end 24 | class ECU < Code #:nodoc: 25 | self.main_currency = 'USD' 26 | end 27 | class TWN < Code #:nodoc: 28 | self.main_currency = 'TWD' 29 | end 30 | class ZWE < Code #:nodoc: 31 | self.main_currency = 'ZWD' 32 | end 33 | class ATG < Code #:nodoc: 34 | self.main_currency = 'XCD' 35 | end 36 | class IDN < Code #:nodoc: 37 | self.main_currency = 'IDR' 38 | end 39 | class BOL < Code #:nodoc: 40 | self.main_currency = 'BOB' 41 | end 42 | class NPL < Code #:nodoc: 43 | self.main_currency = 'NPR' 44 | end 45 | class DEU < Code #:nodoc: 46 | self.main_currency = 'EUR' 47 | end 48 | class MLT < Code #:nodoc: 49 | self.main_currency = 'EUR' 50 | end 51 | class TGO < Code #:nodoc: 52 | self.main_currency = 'XOF' 53 | end 54 | class SRB < Code #:nodoc: 55 | self.main_currency = 'RSD' 56 | end 57 | class TJK < Code #:nodoc: 58 | self.main_currency = 'TJS' 59 | end 60 | class REU < Code #:nodoc: 61 | self.main_currency = 'EUR' 62 | end 63 | class DNK < Code #:nodoc: 64 | self.main_currency = 'DKK' 65 | end 66 | class LAO < Code #:nodoc: 67 | self.main_currency = 'LAK' 68 | end 69 | class POL < Code #:nodoc: 70 | self.main_currency = 'PLN' 71 | end 72 | class BLR < Code #:nodoc: 73 | self.main_currency = 'BYR' 74 | end 75 | class PRI < Code #:nodoc: 76 | self.main_currency = 'USD' 77 | end 78 | class GAB < Code #:nodoc: 79 | self.main_currency = 'XAF' 80 | end 81 | class TCA < Code #:nodoc: 82 | self.main_currency = 'USD' 83 | end 84 | class NIC < Code #:nodoc: 85 | self.main_currency = 'NIO' 86 | end 87 | class RWA < Code #:nodoc: 88 | self.main_currency = 'RWF' 89 | end 90 | class SYR < Code #:nodoc: 91 | self.main_currency = 'SYP' 92 | end 93 | class URY < Code #:nodoc: 94 | self.main_currency = 'UYU' 95 | end 96 | class NCL < Code #:nodoc: 97 | self.main_currency = 'XPF' 98 | end 99 | class VCT < Code #:nodoc: 100 | self.main_currency = 'XCD' 101 | end 102 | class PRK < Code #:nodoc: 103 | self.main_currency = 'KPW' 104 | end 105 | class ZMB < Code #:nodoc: 106 | self.main_currency = 'ZMW' 107 | end 108 | class MKD < Code #:nodoc: 109 | self.main_currency = 'MKD' 110 | end 111 | class CUW < Code #:nodoc: 112 | self.main_currency = 'ANG' 113 | end 114 | class SXM < Code #:nodoc: 115 | self.main_currency = 'ANG' 116 | end 117 | class SSD < Code #:nodoc: 118 | self.main_currency = 'SSP' 119 | end 120 | class BES < Code #:nodoc: 121 | self.main_currency = 'USD' 122 | end 123 | class AZE < Code #:nodoc: 124 | self.main_currency = 'AZN' 125 | end 126 | class BRN < Code #:nodoc: 127 | self.main_currency = 'BND' 128 | end 129 | class CMR < Code #:nodoc: 130 | self.main_currency = 'XAF' 131 | end 132 | class ERI < Code #:nodoc: 133 | self.main_currency = 'ETB' 134 | end 135 | class TCD < Code #:nodoc: 136 | self.main_currency = 'XAF' 137 | end 138 | class DZA < Code #:nodoc: 139 | self.main_currency = 'DZD' 140 | end 141 | class CCK < Code #:nodoc: 142 | self.main_currency = 'AUD' 143 | end 144 | class NFK < Code #:nodoc: 145 | self.main_currency = 'AUD' 146 | end 147 | class SOM < Code #:nodoc: 148 | self.main_currency = 'SOS' 149 | end 150 | class GUY < Code #:nodoc: 151 | self.main_currency = 'GYD' 152 | end 153 | class MRT < Code #:nodoc: 154 | self.main_currency = 'MRO' 155 | end 156 | class NLD < Code #:nodoc: 157 | self.main_currency = 'EUR' 158 | end 159 | class PLW < Code #:nodoc: 160 | self.main_currency = 'USD' 161 | end 162 | class VIR < Code #:nodoc: 163 | self.main_currency = 'USD' 164 | end 165 | class BEL < Code #:nodoc: 166 | self.main_currency = 'EUR' 167 | end 168 | class MHL < Code #:nodoc: 169 | self.main_currency = 'USD' 170 | end 171 | class UKR < Code #:nodoc: 172 | self.main_currency = 'UAH' 173 | end 174 | class UGA < Code #:nodoc: 175 | self.main_currency = 'UGX' 176 | end 177 | class LTU < Code #:nodoc: 178 | self.main_currency = 'EUR' 179 | end 180 | class MNE < Code #:nodoc: 181 | self.main_currency = 'EUR' 182 | end 183 | class BLZ < Code #:nodoc: 184 | self.main_currency = 'BZD' 185 | end 186 | class MOZ < Code #:nodoc: 187 | self.main_currency = 'MZN' 188 | end 189 | class MUS < Code #:nodoc: 190 | self.main_currency = 'MUR' 191 | end 192 | class IMN < Code #:nodoc: 193 | self.main_currency = 'IMP' 194 | end 195 | class DMA < Code #:nodoc: 196 | self.main_currency = 'XCD' 197 | end 198 | class BEN < Code #:nodoc: 199 | self.main_currency = 'XOF' 200 | end 201 | class SLV < Code #:nodoc: 202 | self.main_currency = 'SVC' 203 | end 204 | class LCA < Code #:nodoc: 205 | self.main_currency = 'XCD' 206 | end 207 | class GNQ < Code #:nodoc: 208 | self.main_currency = 'XAF' 209 | end 210 | class MNG < Code #:nodoc: 211 | self.main_currency = 'MNT' 212 | end 213 | class UZB < Code #:nodoc: 214 | self.main_currency = 'UZS' 215 | end 216 | class CPV < Code #:nodoc: 217 | self.main_currency = 'CVE' 218 | end 219 | class JEY < Code #:nodoc: 220 | self.main_currency = 'JEP' 221 | end 222 | class KIR < Code #:nodoc: 223 | self.main_currency = 'AUD' 224 | end 225 | class PRT < Code #:nodoc: 226 | self.main_currency = 'EUR' 227 | end 228 | class MAC < Code #:nodoc: 229 | self.main_currency = 'MOP' 230 | end 231 | class AGO < Code #:nodoc: 232 | self.main_currency = 'AOA' 233 | end 234 | class FSM < Code #:nodoc: 235 | self.main_currency = 'USD' 236 | end 237 | class PHL < Code #:nodoc: 238 | self.main_currency = 'PHP' 239 | end 240 | class LVA < Code #:nodoc: 241 | self.main_currency = 'EUR' 242 | end 243 | class COD < Code #:nodoc: 244 | self.main_currency = 'CDF' 245 | end 246 | class CYM < Code #:nodoc: 247 | self.main_currency = 'KYD' 248 | end 249 | class MDA < Code #:nodoc: 250 | self.main_currency = 'MDL' 251 | end 252 | class DJI < Code #:nodoc: 253 | self.main_currency = 'DJF' 254 | end 255 | class PER < Code #:nodoc: 256 | self.main_currency = 'PEN' 257 | end 258 | class MAF < Code #:nodoc: 259 | self.main_currency = 'EUR' 260 | end 261 | class GTM < Code #:nodoc: 262 | self.main_currency = 'GTQ' 263 | end 264 | class ISL < Code #:nodoc: 265 | self.main_currency = 'ISK' 266 | end 267 | class PNG < Code #:nodoc: 268 | self.main_currency = 'PGK' 269 | end 270 | class SEN < Code #:nodoc: 271 | self.main_currency = 'XOF' 272 | end 273 | class GMB < Code #:nodoc: 274 | self.main_currency = 'GMD' 275 | end 276 | class JAM < Code #:nodoc: 277 | self.main_currency = 'JMD' 278 | end 279 | class COG < Code #:nodoc: 280 | self.main_currency = 'XAF' 281 | end 282 | class CYP < Code #:nodoc: 283 | self.main_currency = 'EUR' 284 | end 285 | class PRY < Code #:nodoc: 286 | self.main_currency = 'PYG' 287 | end 288 | class MEX < Code #:nodoc: 289 | self.main_currency = 'MXN' 290 | end 291 | class WSM < Code #:nodoc: 292 | self.main_currency = 'WST' 293 | end 294 | class BHR < Code #:nodoc: 295 | self.main_currency = 'BHD' 296 | end 297 | class HUN < Code #:nodoc: 298 | self.main_currency = 'HUF' 299 | end 300 | class BHS < Code #:nodoc: 301 | self.main_currency = 'BSD' 302 | end 303 | class SUR < Code #:nodoc: 304 | self.main_currency = 'SRD' 305 | end 306 | class OMN < Code #:nodoc: 307 | self.main_currency = 'OMR' 308 | end 309 | class CUB < Code #:nodoc: 310 | self.main_currency = 'CUP' 311 | end 312 | class KOR < Code #:nodoc: 313 | self.main_currency = 'KRW' 314 | end 315 | class MDG < Code #:nodoc: 316 | self.main_currency = 'MGA' 317 | end 318 | class FRA < Code #:nodoc: 319 | self.main_currency = 'EUR' 320 | end 321 | class SHN < Code #:nodoc: 322 | self.main_currency = 'SHP' 323 | end 324 | class MNP < Code #:nodoc: 325 | self.main_currency = 'USD' 326 | end 327 | class NIU < Code #:nodoc: 328 | self.main_currency = 'NZD' 329 | end 330 | class BWA < Code #:nodoc: 331 | self.main_currency = 'BWP' 332 | end 333 | class VEN < Code #:nodoc: 334 | self.main_currency = 'VEF' 335 | end 336 | class HKG < Code #:nodoc: 337 | self.main_currency = 'HKD' 338 | end 339 | class HND < Code #:nodoc: 340 | self.main_currency = 'HNL' 341 | end 342 | class COK < Code #:nodoc: 343 | self.main_currency = 'NZD' 344 | end 345 | class ISR < Code #:nodoc: 346 | self.main_currency = 'ILS' 347 | end 348 | class FIN < Code #:nodoc: 349 | self.main_currency = 'EUR' 350 | end 351 | class AIA < Code #:nodoc: 352 | self.main_currency = 'XCD' 353 | end 354 | class KNA < Code #:nodoc: 355 | self.main_currency = 'XCD' 356 | end 357 | class LIE < Code #:nodoc: 358 | self.main_currency = 'CHF' 359 | end 360 | class FLK < Code #:nodoc: 361 | self.main_currency = 'FKP' 362 | end 363 | class HRV < Code #:nodoc: 364 | self.main_currency = 'HRK' 365 | end 366 | class COL < Code #:nodoc: 367 | self.main_currency = 'COP' 368 | end 369 | class CRI < Code #:nodoc: 370 | self.main_currency = 'CRC' 371 | end 372 | class WLF < Code #:nodoc: 373 | self.main_currency = 'XPF' 374 | end 375 | class BGD < Code #:nodoc: 376 | self.main_currency = 'BDT' 377 | end 378 | class LSO < Code #:nodoc: 379 | self.main_currency = 'LSL' 380 | end 381 | class MWI < Code #:nodoc: 382 | self.main_currency = 'MWK' 383 | end 384 | class COM < Code #:nodoc: 385 | self.main_currency = 'KMF' 386 | end 387 | class UMI < Code #:nodoc: 388 | self.main_currency = 'USD' 389 | end 390 | class USA < Code #:nodoc: 391 | self.main_currency = 'USD' 392 | end 393 | class KEN < Code #:nodoc: 394 | self.main_currency = 'KES' 395 | end 396 | class AFG < Code #:nodoc: 397 | self.main_currency = 'AFN' 398 | end 399 | class ASM < Code #:nodoc: 400 | self.main_currency = 'USD' 401 | end 402 | class CIV < Code #:nodoc: 403 | self.main_currency = 'XOF' 404 | end 405 | class NOR < Code #:nodoc: 406 | self.main_currency = 'NOK' 407 | end 408 | class PAK < Code #:nodoc: 409 | self.main_currency = 'PKR' 410 | end 411 | class YEM < Code #:nodoc: 412 | self.main_currency = 'YER' 413 | end 414 | class VUT < Code #:nodoc: 415 | self.main_currency = 'VUV' 416 | end 417 | class ALA < Code #:nodoc: 418 | self.main_currency = 'FIM' 419 | end 420 | class BDI < Code #:nodoc: 421 | self.main_currency = 'BIF' 422 | end 423 | class MAR < Code #:nodoc: 424 | self.main_currency = 'MAD' 425 | end 426 | class ALB < Code #:nodoc: 427 | self.main_currency = 'ALL' 428 | end 429 | class KHM < Code #:nodoc: 430 | self.main_currency = 'KHR' 431 | end 432 | class ETH < Code #:nodoc: 433 | self.main_currency = 'ETB' 434 | end 435 | class PAN < Code #:nodoc: 436 | self.main_currency = 'PAB' 437 | end 438 | class CHE < Code #:nodoc: 439 | self.main_currency = 'CHF' 440 | end 441 | class MTQ < Code #:nodoc: 442 | self.main_currency = 'EUR' 443 | end 444 | class BTN < Code #:nodoc: 445 | self.main_currency = 'BTN' 446 | end 447 | class THA < Code #:nodoc: 448 | self.main_currency = 'THB' 449 | end 450 | class SWE < Code #:nodoc: 451 | self.main_currency = 'SEK' 452 | end 453 | class TON < Code #:nodoc: 454 | self.main_currency = 'TOP' 455 | end 456 | class VNM < Code #:nodoc: 457 | self.main_currency = 'VND' 458 | end 459 | class GGY < Code #:nodoc: 460 | self.main_currency = 'GGP' 461 | end 462 | class TLS < Code #:nodoc: 463 | self.main_currency = 'IDR' 464 | end 465 | class NRU < Code #:nodoc: 466 | self.main_currency = 'AUD' 467 | end 468 | class VGB < Code #:nodoc: 469 | self.main_currency = 'USD' 470 | end 471 | class GIB < Code #:nodoc: 472 | self.main_currency = 'GIP' 473 | end 474 | class NER < Code #:nodoc: 475 | self.main_currency = 'XOF' 476 | end 477 | class HTI < Code #:nodoc: 478 | self.main_currency = 'HTG' 479 | end 480 | class MDV < Code #:nodoc: 481 | self.main_currency = 'MVR' 482 | end 483 | class FRO < Code #:nodoc: 484 | self.main_currency = 'DKK' 485 | end 486 | class CHL < Code #:nodoc: 487 | self.main_currency = 'CLP' 488 | end 489 | class SDN < Code #:nodoc: 490 | self.main_currency = 'SDG' 491 | end 492 | class IRL < Code #:nodoc: 493 | self.main_currency = 'EUR' 494 | end 495 | class ARE < Code #:nodoc: 496 | self.main_currency = 'AED' 497 | end 498 | class CHN < Code #:nodoc: 499 | self.main_currency = 'CNY' 500 | end 501 | class STP < Code #:nodoc: 502 | self.main_currency = 'STD' 503 | end 504 | class JPN < Code #:nodoc: 505 | self.main_currency = 'JPY' 506 | end 507 | class TUN < Code #:nodoc: 508 | self.main_currency = 'TND' 509 | end 510 | class BGR < Code #:nodoc: 511 | self.main_currency = 'BGN' 512 | end 513 | class IRN < Code #:nodoc: 514 | self.main_currency = 'IRR' 515 | end 516 | class ARG < Code #:nodoc: 517 | self.main_currency = 'ARS' 518 | end 519 | class CXR < Code #:nodoc: 520 | self.main_currency = 'AUD' 521 | end 522 | class IOT < Code #:nodoc: 523 | self.main_currency = 'USD' 524 | end 525 | class SAU < Code #:nodoc: 526 | self.main_currency = 'SAR' 527 | end 528 | class NGA < Code #:nodoc: 529 | self.main_currency = 'NGN' 530 | end 531 | class HMD < Code #:nodoc: 532 | self.main_currency = 'AUD' 533 | end 534 | class IRQ < Code #:nodoc: 535 | self.main_currency = 'IQD' 536 | end 537 | class BFA < Code #:nodoc: 538 | self.main_currency = 'XOF' 539 | end 540 | class TUR < Code #:nodoc: 541 | self.main_currency = 'TRY' 542 | end 543 | class MMR < Code #:nodoc: 544 | self.main_currency = 'MMK' 545 | end 546 | class PSE < Code #:nodoc: 547 | self.main_currency = 'JOD' 548 | self.currencies = %w{JOD NIS} 549 | end 550 | class SGP < Code #:nodoc: 551 | self.main_currency = 'SGD' 552 | end 553 | class CAF < Code #:nodoc: 554 | self.main_currency = 'XAF' 555 | end 556 | class LKA < Code #:nodoc: 557 | self.main_currency = 'LKR' 558 | end 559 | class SJM < Code #:nodoc: 560 | self.main_currency = 'NOK' 561 | end 562 | class IND < Code #:nodoc: 563 | self.main_currency = 'INR' 564 | end 565 | class VAT < Code #:nodoc: 566 | self.main_currency = 'EUR' 567 | end 568 | class LBN < Code #:nodoc: 569 | self.main_currency = 'LBP' 570 | end 571 | class TKL < Code #:nodoc: 572 | self.main_currency = 'NZD' 573 | end 574 | class GIN < Code #:nodoc: 575 | self.main_currency = 'GNF' 576 | end 577 | class NAM < Code #:nodoc: 578 | self.main_currency = 'NAD' 579 | end 580 | class SGS < Code #:nodoc: 581 | self.main_currency = 'GBP' 582 | end 583 | class ARM < Code #:nodoc: 584 | self.main_currency = 'AMD' 585 | end 586 | class GRC < Code #:nodoc: 587 | self.main_currency = 'EUR' 588 | end 589 | class TUV < Code #:nodoc: 590 | self.main_currency = 'TVD' 591 | end 592 | class TKM < Code #:nodoc: 593 | self.main_currency = 'TMM' 594 | end 595 | class GRD < Code #:nodoc: 596 | self.main_currency = 'XCD' 597 | end 598 | class DOM < Code #:nodoc: 599 | self.main_currency = 'DOP' 600 | end 601 | class ESH < Code #:nodoc: 602 | self.main_currency = 'MAD' 603 | end 604 | class LBR < Code #:nodoc: 605 | self.main_currency = 'LRD' 606 | end 607 | class MCO < Code #:nodoc: 608 | self.main_currency = 'EUR' 609 | end 610 | class ITA < Code #:nodoc: 611 | self.main_currency = 'EUR' 612 | end 613 | class BMU < Code #:nodoc: 614 | self.main_currency = 'BMD' 615 | end 616 | class EGY < Code #:nodoc: 617 | self.main_currency = 'EGP' 618 | end 619 | class PYF < Code #:nodoc: 620 | self.main_currency = 'XPF' 621 | end 622 | class CAN < Code #:nodoc: 623 | self.main_currency = 'CAD' 624 | end 625 | class MSR < Code #:nodoc: 626 | self.main_currency = 'XCD' 627 | end 628 | class SWZ < Code #:nodoc: 629 | self.main_currency = 'CHF' 630 | end 631 | class CZE < Code #:nodoc: 632 | self.main_currency = 'CZK' 633 | end 634 | class GLP < Code #:nodoc: 635 | self.main_currency = 'EUR' 636 | end 637 | class SPM < Code #:nodoc: 638 | self.main_currency = 'EUR' 639 | end 640 | class SYC < Code #:nodoc: 641 | self.main_currency = 'SCR' 642 | end 643 | class PCN < Code #:nodoc: 644 | self.main_currency = 'NZD' 645 | end 646 | class SMR < Code #:nodoc: 647 | self.main_currency = 'EUR' 648 | end 649 | class GUF < Code #:nodoc: 650 | self.main_currency = 'EUR' 651 | end 652 | class TZA < Code #:nodoc: 653 | self.main_currency = 'TZS' 654 | end 655 | class GHA < Code #:nodoc: 656 | self.main_currency = 'GHS' 657 | end 658 | class AND < Code #:nodoc: 659 | self.main_currency = 'EUR' 660 | end 661 | class BIH < Code #:nodoc: 662 | self.main_currency = 'BAM' 663 | end 664 | class KAZ < Code #:nodoc: 665 | self.main_currency = 'KZT' 666 | end 667 | class KWT < Code #:nodoc: 668 | self.main_currency = 'KWD' 669 | end 670 | class MLI < Code #:nodoc: 671 | self.main_currency = 'XOF' 672 | end 673 | class NZL < Code #:nodoc: 674 | self.main_currency = 'NZD' 675 | end 676 | class GRL < Code #:nodoc: 677 | self.main_currency = 'DKK' 678 | end 679 | class AUS < Code #:nodoc: 680 | self.main_currency = 'AUD' 681 | end 682 | class LBY < Code #:nodoc: 683 | self.main_currency = 'LYD' 684 | end 685 | class ROU < Code #:nodoc: 686 | self.main_currency = 'RON' 687 | end 688 | class ABW < Code #:nodoc: 689 | self.main_currency = 'AWG' 690 | end 691 | class ESP < Code #:nodoc: 692 | self.main_currency = 'EUR' 693 | end 694 | class SLB < Code #:nodoc: 695 | self.main_currency = 'SBD' 696 | end 697 | class LUX < Code #:nodoc: 698 | self.main_currency = 'EUR' 699 | end 700 | class AUT < Code #:nodoc: 701 | self.main_currency = 'EUR' 702 | end 703 | class BRA < Code #:nodoc: 704 | self.main_currency = 'BRL' 705 | end 706 | class SVK < Code #:nodoc: 707 | self.main_currency = 'EUR' 708 | end 709 | class QAT < Code #:nodoc: 710 | self.main_currency = 'QAR' 711 | end 712 | class ATA < Code #:nodoc: 713 | self.main_currency = 'AUD' 714 | self.currencies = %w{AUD GBP} 715 | end 716 | class ZAF < Code #:nodoc: 717 | self.main_currency = 'ZAR' 718 | end 719 | class BRB < Code #:nodoc: 720 | self.main_currency = 'BBD' 721 | end 722 | class GUM < Code #:nodoc: 723 | self.main_currency = 'USD' 724 | end 725 | class MYS < Code #:nodoc: 726 | self.main_currency = 'MYR' 727 | end 728 | class TTO < Code #:nodoc: 729 | self.main_currency = 'TTD' 730 | end 731 | class SLE < Code #:nodoc: 732 | self.main_currency = 'SLL' 733 | end 734 | class SVN < Code #:nodoc: 735 | self.main_currency = 'EUR' 736 | end 737 | class BVT < Code #:nodoc: 738 | self.main_currency = 'NOK' 739 | end 740 | class MYT < Code #:nodoc: 741 | self.main_currency = 'EUR' 742 | end 743 | class KGZ < Code #:nodoc: 744 | self.main_currency = 'KGS' 745 | end 746 | class EST < Code #:nodoc: 747 | self.main_currency = 'EUR' 748 | end 749 | class GNB < Code #:nodoc: 750 | self.main_currency = 'XOF' 751 | end 752 | end # end Code 753 | end # IsoCountryCodes 754 | -------------------------------------------------------------------------------- /lib/iso_country_codes/iso_country_codes.rb: -------------------------------------------------------------------------------- 1 | class IsoCountryCodes # :nodoc: 2 | class UnknownCodeError < StandardError; end 3 | 4 | class << self 5 | 6 | def for_select(*args) 7 | Code.for_select(*args) 8 | end 9 | 10 | def all 11 | Code.all 12 | end 13 | 14 | DEFAULT_FALLBACK = lambda { |error| raise UnknownCodeError, error } 15 | 16 | def find(code, &fallback) 17 | fallback ||= DEFAULT_FALLBACK 18 | code = code.to_s.upcase 19 | instance = nil 20 | 21 | if code.match(/^\d{2}$/) 22 | code = "0#{code}" # Make numeric codes three digits 23 | end 24 | 25 | if code.match(/^\d{3}$/) 26 | instance = all.find { |c| c.numeric == code } 27 | elsif code.match(/^[A-Z]{2}$/) 28 | instance = all.find { |c| c.alpha2 == code } 29 | elsif code.match(/^[A-Z]{3}$/) 30 | instance = all.find { |c| c.alpha3 == code } 31 | end 32 | 33 | return fallback.call "No ISO 3166-1 code could be found for '#{code}'." if instance.nil? 34 | 35 | instance 36 | end 37 | 38 | def search_by_name(str, &fallback) 39 | fallback ||= DEFAULT_FALLBACK 40 | 41 | instances = all.select { |c| c.name.to_s.upcase == str.to_s.upcase } 42 | instances = all.select { |c| c.name.to_s.match(/^#{Regexp.escape(str)}/i) } if instances.empty? 43 | instances = all.select { |c| c.name.to_s.match(/#{Regexp.escape(str)}/i) } if instances.empty? 44 | instances = all.select { |c| word_set(c.name) == word_set(str) } if instances.empty? 45 | 46 | return fallback.call "No ISO 3166-1 codes could be found searching with name '#{str}'." if instances.empty? 47 | 48 | instances 49 | end 50 | 51 | def search_by_calling_code(code, &fallback) 52 | fallback ||= DEFAULT_FALLBACK 53 | 54 | code = "+#{code.to_i}" # Normalize code 55 | instances = all.select { |c| c.calling == code } 56 | 57 | return fallback.call "No ISO 3166-1 codes could be found searching with calling code '#{code}'." if instances.empty? 58 | 59 | instances 60 | end 61 | 62 | def search_by_calling(code, &fallback) # Alias of search_by_calling_code 63 | search_by_calling_code code, &fallback 64 | end 65 | 66 | def search_by_currency(code, &fallback) 67 | fallback ||= DEFAULT_FALLBACK 68 | 69 | code = code.to_s.upcase 70 | instances = all.select { |c| 71 | c.currencies.select { |currency| 72 | currency != code 73 | }.empty? 74 | } 75 | 76 | return fallback.call "No ISO 3166-1 codes could be found searching with currency '#{code}'." if instances.empty? 77 | 78 | instances 79 | end 80 | 81 | def search_by_iban(code, &fallback) 82 | fallback ||= DEFAULT_FALLBACK 83 | 84 | code = code.to_s.upcase 85 | instances = all.select { |c| c.iban == code } 86 | 87 | return fallback.call "No ISO 3166-1 codes could be found searching with IBAN '#{code}'." if instances.empty? 88 | 89 | instances 90 | end 91 | 92 | private 93 | def word_set(str) 94 | str.to_s.upcase.split(/\W/).reject(&:empty?).to_set 95 | end 96 | end 97 | end 98 | -------------------------------------------------------------------------------- /overrides.yml: -------------------------------------------------------------------------------- 1 | --- 2 | "TWN": 3 | :name: "Taiwan" 4 | -------------------------------------------------------------------------------- /rakelib/cultivate.rake: -------------------------------------------------------------------------------- 1 | # Only works on unixy type systems. 2 | # http://blog.behindlogic.com/2008/10/auto-generate-your-manifest-and-gemspec.html 3 | desc 'Rebuild manifest and gemspec.' 4 | task :cultivate do 5 | system %q{touch Manifest.txt; rake check_manifest | grep -v "(in " | patch} 6 | system %q{rake debug_gem | grep -v "(in " > `basename \`pwd\``.gemspec} 7 | end 8 | -------------------------------------------------------------------------------- /rakelib/iso_3166_1.rake: -------------------------------------------------------------------------------- 1 | namespace :codes do 2 | desc 'Create ISO 3166-1 code classes from Wikipedia ISO 3166-1 tables.' 3 | task :update do 4 | dirname = File.dirname(__FILE__) 5 | gen = File.join(dirname, %w{iso_3166_1.rb}) 6 | lib = File.expand_path(File.join(dirname, %w{.. lib iso_country_codes iso_3166_1.rb})) 7 | require gen 8 | modules = IsoCountryCodes::Task::UpdateCodes.get 9 | File.open(lib, File::CREAT | File::TRUNC | File::WRONLY) do |f| 10 | f.write modules 11 | end 12 | end 13 | end # :currency 14 | -------------------------------------------------------------------------------- /rakelib/iso_3166_1.rb: -------------------------------------------------------------------------------- 1 | require 'nokogiri' 2 | require 'open-uri' 3 | require 'erubis' 4 | require 'yaml' 5 | 6 | class IsoCountryCodes 7 | module Task 8 | module UpdateCodes 9 | def self.get 10 | doc = Nokogiri::HTML.parse(open('https://en.wikipedia.org/wiki/ISO_3166-1'), nil, 'UTF-8') 11 | codes = {} 12 | td_map = { 13 | :name => 1, 14 | :alpha2 => 2, 15 | :alpha3 => 3, 16 | :numeric => 4 17 | } 18 | 19 | code_labels = td_map.keys 20 | 21 | doc.search('table.wikitable.sortable tr').each do |row| 22 | value_hash = {} 23 | 24 | code_labels.each do |key| 25 | selector = "td:nth-of-type(#{td_map[key]})" 26 | selector << ' a' if key == :name 27 | 28 | value = row.search(selector). 29 | reject { |el| el.parent.name == 'sup' }. 30 | map(&:text).join.strip 31 | 32 | next if value == '' 33 | 34 | # This is a terrible hack to skip the first table of the 35 | # Wikipedia page, under "Naming and disputes". The 36 | # giveaway is that this table doesn't include a "Numeric 37 | # code" field. 38 | if key == :numeric 39 | next unless value.to_i > 0 40 | end 41 | 42 | value_hash[key] = value 43 | 44 | if value_hash.length == code_labels.length - 1 45 | value_hash.keys.each do |value_hash_key| 46 | codes[value_hash[value_hash_key]] = value_hash if value_hash_key == :alpha3 47 | end 48 | end 49 | end 50 | end 51 | 52 | codes = recurse_merge(codes, self.exceptions) 53 | 54 | to_ruby(codes) if codes 55 | end 56 | 57 | def self.to_ruby(codes) 58 | tmpl = File.read(File.join(File.dirname(__FILE__), 'iso_3166_1.rb.erb')) 59 | eruby = Erubis::Eruby.new(tmpl) 60 | eruby.result(:codes => codes) 61 | end 62 | 63 | def self.exceptions 64 | @config ||= YAML.load_file('overrides.yml') 65 | end 66 | 67 | def self.recurse_merge(a,b) 68 | a.merge(b) do |_,x,y| 69 | (x.is_a?(Hash) && y.is_a?(Hash)) ? recurse_merge(x,y) : y 70 | end 71 | end 72 | end # UpdateCodes 73 | end # Task 74 | end # IsoCountryCodes 75 | -------------------------------------------------------------------------------- /rakelib/iso_3166_1.rb.erb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | class IsoCountryCodes 4 | class Code 5 | <% codes.keys.each do |code| -%> 6 | class <%= code.upcase %> < Code #:nodoc: 7 | self.numeric = %q{<%= codes[code][:numeric] %>} 8 | self.name = %q{<%= codes[code][:name] %>} 9 | self.alpha2 = %q{<%= codes[code][:alpha2] %>} 10 | self.alpha3 = %q{<%= codes[code][:alpha3] %>} 11 | end 12 | <% end -%> 13 | end # end Code 14 | end # IsoCountryCodes 15 | 16 | -------------------------------------------------------------------------------- /test/iso_country_codes_test.rb: -------------------------------------------------------------------------------- 1 | require 'test/unit' 2 | require 'iso_country_codes' 3 | 4 | class TestIsoCountryCodes < Test::Unit::TestCase 5 | def test_find_with_numeric_as_two_digit_string 6 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('36') 7 | end 8 | 9 | def test_find_with_numeric_as_three_digit_string 10 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('036') 11 | end 12 | 13 | def test_find_with_numeric_as_integer 14 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find(36) 15 | end 16 | 17 | def test_find_with_lowercase_alpha2 18 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('au') 19 | end 20 | 21 | def test_find_with_uppercase_alpha2 22 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('AU') 23 | end 24 | 25 | def test_find_with_unknown_alpha2_code_and_raise_exception 26 | assert_raise IsoCountryCodes::UnknownCodeError do 27 | IsoCountryCodes.find('xx') 28 | end 29 | end 30 | 31 | def test_find_with_unknown_alpha2_code_and_raise_custom_exception 32 | assert_raise ArgumentError do 33 | IsoCountryCodes.find('xx') { |error| raise ArgumentError } 34 | end 35 | end 36 | 37 | def test_find_with_unknown_alpha2_code_and_return_custom_value 38 | assert_equal IsoCountryCodes.find('xx') { IsoCountryCodes::Code::AUS.instance }, 39 | IsoCountryCodes::Code::AUS.instance 40 | end 41 | 42 | def test_find_with_lowercase_alpha3 43 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('aus') 44 | end 45 | 46 | def test_find_with_uppercase_alpha3 47 | assert_equal IsoCountryCodes::Code::AUS.instance, IsoCountryCodes.find('AUS') 48 | end 49 | 50 | def test_search_with_lowercase_name 51 | assert_equal [IsoCountryCodes::Code::AUS.instance], IsoCountryCodes.search_by_name('australia') 52 | end 53 | 54 | def test_search_with_uppercase_name 55 | assert_equal [IsoCountryCodes::Code::AUS.instance], IsoCountryCodes.search_by_name('AUSTRALIA') 56 | end 57 | 58 | def test_search_with_mixed_case_name 59 | assert_equal [IsoCountryCodes::Code::AUS.instance], IsoCountryCodes.search_by_name('Australia') 60 | end 61 | 62 | def test_search_comma_separated_name 63 | assert_equal [IsoCountryCodes::Code::PSE.instance], IsoCountryCodes.search_by_name('State of Palestine') 64 | end 65 | 66 | def test_search_parenthetical_name 67 | assert_equal [IsoCountryCodes::Code::KOR.instance], IsoCountryCodes.search_by_name('Republic of Korea') 68 | end 69 | 70 | def test_search_by_name_returning_many_results_starting_wth_the_search_string 71 | assert_equal([ 72 | IsoCountryCodes::Code::ARE.instance, 73 | IsoCountryCodes::Code::GBR.instance, 74 | IsoCountryCodes::Code::USA.instance, 75 | IsoCountryCodes::Code::UMI.instance 76 | ], IsoCountryCodes.search_by_name('united')) 77 | end 78 | 79 | def test_search_by_name_returning_many_results_not_starting_with_the_search_string 80 | assert_equal([ 81 | IsoCountryCodes::Code::COD.instance, 82 | IsoCountryCodes::Code::PRK.instance, 83 | IsoCountryCodes::Code::LAO.instance 84 | ], IsoCountryCodes.search_by_name('democratic')) 85 | end 86 | 87 | def test_search_by_name_unknown_country_and_raise_exception 88 | assert_raise IsoCountryCodes::UnknownCodeError do 89 | IsoCountryCodes.search_by_name('unknown country') 90 | end 91 | end 92 | 93 | def test_search_by_name_unknown_country_and_raise_custom_exception 94 | assert_raise ArgumentError do 95 | IsoCountryCodes.search_by_name('unknown country') {|error| raise ArgumentError } 96 | end 97 | end 98 | 99 | def test_search_by_name_unknown_country_and_return_custom_value 100 | assert_equal IsoCountryCodes.search_by_name('unknown country') {[]}, [] 101 | end 102 | 103 | def test_search_by_name_does_not_raise_regexp_error 104 | assert_nothing_raised do 105 | IsoCountryCodes.search_by_name('+ab'){[]} 106 | end 107 | end 108 | 109 | def test_search_by_name_exact_match 110 | assert_equal( 111 | [IsoCountryCodes::Code::CCK.instance], 112 | IsoCountryCodes.search_by_name('Cocos (Keeling) Islands') 113 | ) 114 | end 115 | 116 | def test_search_by_currency_lowercase 117 | assert_equal([ 118 | IsoCountryCodes::Code::AUS.instance, 119 | IsoCountryCodes::Code::CXR.instance, 120 | IsoCountryCodes::Code::CCK.instance, 121 | IsoCountryCodes::Code::HMD.instance, 122 | IsoCountryCodes::Code::KIR.instance, 123 | IsoCountryCodes::Code::NRU.instance, 124 | IsoCountryCodes::Code::NFK.instance 125 | ], IsoCountryCodes.search_by_currency('aud')) 126 | end 127 | 128 | def test_search_by_currency_uppercase 129 | assert_equal([ 130 | IsoCountryCodes::Code::AUS.instance, 131 | IsoCountryCodes::Code::CXR.instance, 132 | IsoCountryCodes::Code::CCK.instance, 133 | IsoCountryCodes::Code::HMD.instance, 134 | IsoCountryCodes::Code::KIR.instance, 135 | IsoCountryCodes::Code::NRU.instance, 136 | IsoCountryCodes::Code::NFK.instance 137 | ], IsoCountryCodes.search_by_currency('AUD')) 138 | end 139 | 140 | def test_search_by_currency_invalid_value_and_raise_exception 141 | assert_raise IsoCountryCodes::UnknownCodeError do 142 | IsoCountryCodes.search_by_currency('USS') 143 | end 144 | end 145 | 146 | def test_search_by_currency_invalid_value_and_raise_custom_exception 147 | assert_raise ArgumentError do 148 | IsoCountryCodes.search_by_currency('USS') { |error| raise ArgumentError } 149 | end 150 | end 151 | 152 | def test_search_by_currency_invalid_value_and_return_custom_value 153 | assert_equal IsoCountryCodes.search_by_currency('USS') {[]}, [] 154 | end 155 | 156 | def test_search_by_calling_code 157 | assert_equal [IsoCountryCodes::Code::ZAF.instance], IsoCountryCodes.search_by_calling_code('+27') 158 | assert_equal([ 159 | IsoCountryCodes::Code::AUS.instance, 160 | IsoCountryCodes::Code::CXR.instance, 161 | IsoCountryCodes::Code::HMD.instance 162 | ], IsoCountryCodes.search_by_calling_code('+61')) 163 | end 164 | 165 | def test_search_by_calling_code_invalid_value_and_raise_exception 166 | assert_raise IsoCountryCodes::UnknownCodeError do 167 | IsoCountryCodes.search_by_calling_code('00') 168 | end 169 | end 170 | 171 | def test_search_by_calling_code_invalid_value_and_raise_custom_exception 172 | assert_raise ArgumentError do 173 | IsoCountryCodes.search_by_calling_code('00'){ |error| raise ArgumentError } 174 | end 175 | end 176 | 177 | def test_search_by_calling_code_invalid_value_and_return_custom_value 178 | assert_equal IsoCountryCodes.search_by_calling_code('00') {[]}, [] 179 | end 180 | 181 | def test_search_by_iban_lowercase 182 | assert_equal [IsoCountryCodes::Code::BIH.instance], IsoCountryCodes.search_by_iban('ba') 183 | end 184 | 185 | def test_search_by_iban_uppercase 186 | assert_equal [IsoCountryCodes::Code::BIH.instance], IsoCountryCodes.search_by_iban('BA') 187 | end 188 | 189 | def test_search_by_iban_invalid_value_and_raise_exception 190 | assert_raise IsoCountryCodes::UnknownCodeError do 191 | IsoCountryCodes.search_by_iban('xx') 192 | end 193 | end 194 | 195 | def test_search_by_iban_invalid_value_and_raise_custom_exception 196 | assert_raise ArgumentError do 197 | IsoCountryCodes.search_by_iban('xx'){ |error| raise ArgumentError } 198 | end 199 | end 200 | 201 | def test_search_by_iban_invalid_value_and_return_custom_value 202 | assert_equal IsoCountryCodes.search_by_iban('xx') {[]}, [] 203 | end 204 | 205 | def test_get_main_currency 206 | assert_equal 'AUD', IsoCountryCodes.find('AUS').main_currency 207 | end 208 | 209 | def test_currency_alias_method 210 | code = IsoCountryCodes::Code::AUS.instance 211 | assert_equal code.main_currency, code.currency 212 | end 213 | 214 | def test_get_multiple_currencies 215 | assert_equal IsoCountryCodes.find('ATA').currencies, %w{AUD GBP} 216 | assert_equal IsoCountryCodes.find('AUS').currencies, %w{AUD} 217 | end 218 | 219 | def test_get_numeric 220 | assert_equal '036', IsoCountryCodes::Code::AUS.numeric 221 | assert_equal '036', IsoCountryCodes::Code::AUS.instance.numeric 222 | end 223 | 224 | def test_get_alpha2 225 | assert_equal 'AU', IsoCountryCodes::Code::AUS.alpha2 226 | assert_equal 'AU', IsoCountryCodes::Code::AUS.instance.alpha2 227 | end 228 | 229 | def test_get_alpha3 230 | assert_equal 'AUS', IsoCountryCodes::Code::AUS.alpha3 231 | assert_equal 'AUS', IsoCountryCodes::Code::AUS.instance.alpha3 232 | end 233 | 234 | def test_get_calling 235 | assert_equal '+61', IsoCountryCodes::Code::AUS.calling 236 | assert_equal '+61', IsoCountryCodes::Code::AUS.instance.calling 237 | end 238 | 239 | def test_get_iban 240 | assert_equal 'FR', IsoCountryCodes::Code::FRA.iban 241 | assert_equal 'FR', IsoCountryCodes::Code::FRA.instance.iban 242 | end 243 | 244 | def test_get_iban_for_non_iban_country 245 | assert_equal nil, IsoCountryCodes::Code::USA.iban 246 | assert_equal nil, IsoCountryCodes::Code::USA.instance.iban 247 | end 248 | 249 | def test_get_calling_code_alias 250 | code = IsoCountryCodes::Code::AUS.instance 251 | assert_equal code.calling, code.calling_code 252 | end 253 | 254 | def test_get_continent 255 | assert_equal 'OC', IsoCountryCodes::Code::AUS.continent 256 | assert_equal 'NA', IsoCountryCodes::Code::USA.instance.continent 257 | end 258 | 259 | def test_get_name 260 | assert_equal 'Australia', IsoCountryCodes::Code::AUS.name 261 | assert_equal 'Australia', IsoCountryCodes::Code::AUS.instance.name 262 | end 263 | 264 | def test_for_select 265 | assert IsoCountryCodes::Code.for_select.is_a?(Array) 266 | assert_equal IsoCountryCodes::Code.for_select.length, IsoCountryCodes::Code.all.length 267 | end 268 | 269 | def test_all 270 | assert IsoCountryCodes::Code.all.is_a?(Array) 271 | refute_includes IsoCountryCodes::Code.all.map(&:name), nil 272 | end 273 | 274 | def test_for_select_value_attribute 275 | assert_equal IsoCountryCodes::Code.for_select(:alpha3)[0][1].length, 3 276 | end 277 | 278 | def test_unknown_iso_code 279 | assert_raises IsoCountryCodes::UnknownCodeError do 280 | IsoCountryCodes.find('FOO') 281 | end 282 | end 283 | 284 | def test_unknown_iso_code_and_return_custom_value 285 | assert_equal IsoCountryCodes.find('FOO') { [] }, [] 286 | end 287 | 288 | def test_unknown_iso_code_and_raise_custom_error 289 | assert_raise ArgumentError do 290 | IsoCountryCodes.find('FOO') { |error| raise ArgumentError } 291 | end 292 | end 293 | end 294 | --------------------------------------------------------------------------------