country-select-iso 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,72 @@
1
+ module CountrySelectIso
2
+ def self.load_countries_from file_name
3
+ File.read(file_name).split("\n")
4
+ .select{|l| l =~ /^\#/ ? false : true}
5
+ .map{|l| l.split("\t")}
6
+ .map {|p|
7
+ # # Field Example
8
+ # ---------------------------------------------
9
+ # 0 ISO US
10
+ # 1 ISO3 USA
11
+ # 2 ISO-Numeric 840
12
+ # 3 fips US
13
+ # 4 Country United States
14
+ # 5 Capital Washington
15
+ # 6 Area(in sq km) 9629091
16
+ # 7 Population 310232863
17
+ # 8 Continent NA
18
+ # 9 tld .us
19
+ # 10 CurrencyCode USD
20
+ # 11 CurrencyName Dollar
21
+ # 12 Phone 1
22
+ # 13 Postal Code Format #####-####
23
+ # 14 Postal Code Regex ^\d{5}(-\d{4})?$
24
+ # 15 Languages en-US,es-US,haw,fr
25
+ # 16 geonameid 6252001
26
+ # 17 neighbours CA,MX,CU
27
+ # 18 EquivalentFipsCode
28
+ {
29
+ iso2: p[0],
30
+ iso3: p[1],
31
+ iso_num: p[2],
32
+ name: p[4],
33
+ capital: p[5],
34
+ continent: p[8],
35
+ top_level_domain: p[9],
36
+ currency_code: p[10],
37
+ currency_name: p[11],
38
+ phone_code: p[12],
39
+ postal_code_format: p[13],
40
+ postal_code_epxr: Regexp.new(p[14]),
41
+ languages: (p[15] || '').split(','),
42
+ neighbours_iso2: (p[17] || '').split(',')
43
+ }
44
+ }
45
+ end
46
+
47
+ def self.load_states_from file_name
48
+ File.read(file_name).split("\n")
49
+ .select{|l| l =~ /^\#/ ? false : true}
50
+ .map{|l| l.split("\t")}
51
+ .map {|p|
52
+ # AD.06 Parròquia de Sant Julià de Lòria Parroquia de Sant Julia de Loria 3039162
53
+ code_parts = p[0].split('.')
54
+ {
55
+ country_iso2: code_parts[0],
56
+ state_code: code_parts[1],
57
+ full_code: p[0],
58
+ localized_name: p[1],
59
+ name: p[2],
60
+ something_unknown: p[3]
61
+ }
62
+ }
63
+ end
64
+
65
+ def self.countries
66
+ @@countries ||= load_countries_from(File.join(File.dirname(__FILE__), "../data/countries.txt"))
67
+ end
68
+
69
+ def self.states
70
+ @@states ||= load_states_from(File.join(File.dirname(__FILE__), '../data/states.txt'))
71
+ end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: country-select-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-01-08 00:00:00.000000000 Z
14
+ date: 2012-01-07 00:00:00.000000000 Z
15
15
  dependencies: []
16
16
  description: Provides country & state utilities with country & state selection boxes
17
17
  email: shapigor@gmail.com
@@ -20,6 +20,9 @@ extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
22
  - lib/country-select-iso.rb
23
+ - lib/countries-list.rb
24
+ - data/countries.txt
25
+ - data/states.txt
23
26
  homepage: https://github.com/igorshapiro/country-select
24
27
  licenses: []
25
28
  post_install_message: