geo_locale 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13683f5ea4a417b4ba4935733dd2f6def4c8e61b
4
- data.tar.gz: ecf16608e29da3c55ceff586e93060bf08e50d98
3
+ metadata.gz: 7f0e323deff5492ea6d479dd332e31d047c5a46f
4
+ data.tar.gz: 6a243e05b9c4f5bd121a8d931f1174b48fffec1c
5
5
  SHA512:
6
- metadata.gz: 9e6b16e1edf3fe8555bb31bf04fa97b54e28741b94aaa359c2f7a9d20eb42a3324cb8f755a98478577f394b3eb92e44694e048f06e3b91c775339f11f579daa1
7
- data.tar.gz: 2eed2ced8a8a41db5e41f2e17d59475dbbdc777a955465ef6925d272fb0f99172c8f4b9c7de82cf43cef18ee4a8fc6434d377de932a1f3020db06fc03aa00cc0
6
+ metadata.gz: c9d8c58a6ab5ab076bfe581e24932998044f24c3d33810b618d3fa566d1611620013b25172aa455b109e9c42045a865a71f723c6a67cb5f30f2c90c9aa2678e7
7
+ data.tar.gz: 74e181e0d2ab3c9393ca0e1593b5c97d8d65643e15ed934cc875a098e535519c8976d475cf1d2c4b716cf1aad80fde3f786d4110f25ef4b810b280d98b4028a5
data/CHANGELOG.md CHANGED
@@ -6,16 +6,27 @@ This project adheres to [Semantic Versioning](http://semver.org/).
6
6
  ### Changed
7
7
  -
8
8
 
9
- ## [0.1.1] - 2015-10-02
9
+ ## [0.2.0] - 2016-01-13
10
10
  ### Added
11
- - Localhost (127.0.0.1) is now quick-resolved to a locale defined in configuration for faster devving
11
+ * Ruby version 2+ requirement
12
+ * More locales to country hash (md, sk etc.)
13
+
14
+ ### Changed
15
+ * How geokit works - if response takes more than 3s it is aborted.
12
16
 
13
- ## [0.1.0] - 2015-01-01
17
+ ## [0.1.1] - 2015-10-02
14
18
  ### Added
15
- - Initial release with basic functionality described in README
16
- ### Changed
17
- - Nothing
19
+ * Localhost (127.0.0.1) is now quick-resolved to a locale defined in configuration for faster devving
20
+
21
+ ## [0.1.0] - 2015-01-01
22
+ ### Added
23
+ * Initial release with basic functionality described in README
24
+
25
+ ### Changed
26
+ * Nothing
27
+
18
28
  ### Fixed
19
- - Nothing
29
+ * Nothing
30
+
20
31
  ### Removed
21
- - Nothing
32
+ * Nothing
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # GeoLocale
1
+ # GeoLocale v0.2.0
2
2
  Simple wrapper for GeoIP gem with some redundancy on GeoKit to get a two-letter country code or locale from an IP address.
3
3
 
4
4
  ## Basic use-case
@@ -19,7 +19,7 @@ Configure default locales
19
19
  ```ruby
20
20
  # in /config/initializers/geo_locale.rb
21
21
  GeoLocale.configure do |config|
22
- config.localhost_country = "lv" # set the country to return for localhost, this country's locale and lcid will also be used for localhost
22
+ config.localhost_country = "lv" # set the country to return for localhost, this country's locale and lcid will also be used for localhost
23
23
  config.default_country = "de" # set to nil or false if you want to catch fails in geolocation
24
24
  config.default_locale = "en" # country->locale conversion is minimal for now, set this explicitly to ensure GeoLocale.locale returns useful value
25
25
  config.default_lcid = "en-us"
@@ -28,32 +28,27 @@ end
28
28
  ```
29
29
 
30
30
  ### To get country code:
31
-
32
- def self.country_code (ip: "")
33
-
34
- Use in controller like so:
35
31
  ```ruby
36
32
  GeoLocale.country_code(ip: request.remote_ip)
37
- => "en"
33
+ # => "en"
38
34
  ```
39
35
 
40
36
  ### To get locale:
41
-
42
- def self.locale (ip: "", country_code: "", lcid: false)
43
37
  ```ruby
44
38
  GeoLocale.locale(country_code: "gb")
45
- => "en"
39
+ #=> "en"
46
40
  GeoLocale.locale(country_code: "gb", lcid: true)
47
- => "en-gb"
41
+ #=> "en-gb"
48
42
  GeoLocale.locale(ip: "97.77.25.20")
49
- => "en"
43
+ #=> "en"
50
44
  GeoLocale.locale(ip: "97.77.25.20", lcid: true)
51
- => "en-us"
45
+ #=> "en-us"
52
46
  ```
47
+
53
48
  country_code is prioritized as it does not require external calls.
54
49
  ```ruby
55
50
  GeoLocale.locale(ip: "97.77.25.20", country_code: "lv")
56
- => "lv"
51
+ #=> "lv"
57
52
  ```
58
53
 
59
54
  ## TO-DO
data/geo_locale.gemspec CHANGED
@@ -4,6 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'geo_locale/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
+ spec.required_ruby_version = ">= 2.0.0"
7
8
  spec.name = "geo_locale"
8
9
  spec.version = GeoLocale::VERSION
9
10
  spec.date = Date.today.to_s
@@ -1,7 +1,9 @@
1
+ require 'timeout'
2
+
1
3
  module GeoLocale
2
4
  IP_REGEX = /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
3
5
 
4
- def self.country_code(ip: "") # ip = "12.12.12.12"
6
+ def self.country_code(ip: "") # ip = "12.12.12.12"
5
7
  return GeoLocale.config.localhost_country if ip == GeoLocale::LOCALHOST_IP && GeoLocale.config.localhost_country.present?
6
8
  country_code = GeoLocale.geo_ip_try(ip)
7
9
  if country_code.present?
@@ -38,12 +40,13 @@ module GeoLocale
38
40
  end
39
41
 
40
42
  def self.geokit_try(ip)
41
- return nil unless ip.match(GeoLocale::IP_REGEX).present?
42
- begin
43
- return Geokit::Geocoders::MultiGeocoder.geocode(ip).country_code.downcase
44
- rescue
45
- nil
43
+ return nil if ip.to_s[GeoLocale::IP_REGEX].blank?
44
+
45
+ Timeout::timeout(3) do
46
+ return Geokit::Geocoders::MultiGeocoder.geocode(ip.to_s).country_code.downcase
46
47
  end
48
+ rescue
49
+ return nil
47
50
  end
48
51
 
49
52
  end
@@ -5,6 +5,8 @@ module GeoLocale
5
5
  GeoLocale.get_locale_or_lcid(country_code: country_code, lcid: lcid)
6
6
  end
7
7
 
8
+ # consult http://www.science.co.il/Language/Locale-codes.asp
9
+
8
10
  LOCALE = {
9
11
  "lv" => "lv",
10
12
  "lt" => "lt",
@@ -16,7 +18,16 @@ module GeoLocale
16
18
  "us" => "en", # US&A
17
19
  "pl" => "pl",
18
20
  "de" => "de",
19
- "fr" => "fr"
21
+ "fr" => "fr",
22
+ "sk" => "sk",
23
+ "ua" => "uk",
24
+ "br" => "pt",
25
+ "fi" => "fi",
26
+ "dk" => "da",
27
+ "az" => "az",
28
+ "ge" => "ka",
29
+ "ro" => "ro",
30
+ "md" => "ro"
20
31
  }
21
32
 
22
33
  LCID = {
@@ -30,12 +41,21 @@ module GeoLocale
30
41
  "us" => "en-us", # US&A
31
42
  "pl" => "pl",
32
43
  "de" => "de",
33
- "fr" => "fr"
44
+ "fr" => "fr",
45
+ "sk" => "sk",
46
+ "ua" => "uk",
47
+ "br" => "pt-br",
48
+ "fi" => "fi",
49
+ "dk" => "da",
50
+ "az" => "az-az",
51
+ "ge" => "ka",
52
+ "ro" => "ro",
53
+ "md" => "ro-mo"
34
54
  }
35
55
 
36
56
  private
37
57
 
38
- def self.get_locale_or_lcid(country_code:, lcid: false)
58
+ def self.get_locale_or_lcid(country_code: nil, lcid: false)
39
59
  if lcid
40
60
  lcid_string = GeoLocale::LCID[country_code]
41
61
  return figure_out_returnable_lcid(lcid_string: lcid_string)
@@ -1,3 +1,3 @@
1
1
  module GeoLocale
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,8 +1,9 @@
1
- # rspec spec/tests/geolocation_spec.rb
2
-
3
1
  require 'spec_helper'
4
2
 
5
- describe "Geolocation" do
3
+ # rspec spec/tests/geolocation_spec.rb
4
+ describe "GeoLocale" do
5
+ klass = GeoLocale
6
+
6
7
  lv_ip = LV_IPS.sample
7
8
  lt_ip = LT_IPS.sample
8
9
  ee_ip = EE_IPS.sample
@@ -18,7 +19,68 @@ describe "Geolocation" do
18
19
  GeoLocale.configure {}
19
20
  end
20
21
 
21
- describe "GeoIP" do
22
+ describe ".country_code(ip: "")" do
23
+ it "should return lv for #{lv_ip}" do
24
+ expect(GeoLocale.country_code(ip: lv_ip)).to eq "lv"
25
+ end
26
+ it "should return lt for #{lt_ip}" do
27
+ expect(GeoLocale.country_code(ip: lt_ip)).to eq "lt"
28
+ end
29
+ it "should return ee for #{ee_ip}" do
30
+ expect(GeoLocale.country_code(ip: ee_ip)).to eq "ee"
31
+ end
32
+ it "should return et for #{ee_ip} after override" do
33
+ GeoLocale.config.overrides["ee"] = "et"
34
+ expect(GeoLocale.country_code(ip: "#{ee_ip}")).to eq "et"
35
+ end
36
+ it "should return ru for #{ru_ip}" do
37
+ expect(GeoLocale.country_code(ip: "#{ru_ip}")).to eq "ru"
38
+ end
39
+ it "should return us for #{us_ip}" do
40
+ expect(GeoLocale.country_code(ip: "#{us_ip}")).to eq "us"
41
+ end
42
+ it "should return gb for #{gb_ip}" do # Great Britain
43
+ expect(GeoLocale.country_code(ip: "#{gb_ip}")).to eq "gb"
44
+ end
45
+ it "should return ir for #{ir_ip}" do # Iran
46
+ expect(GeoLocale.country_code(ip: "#{ir_ip}")).to eq "ir"
47
+ end
48
+ it "should return ie for #{ie_ip}" do # Ireland
49
+ expect(GeoLocale.country_code(ip: "#{ie_ip}")).to eq "ie"
50
+ end
51
+ it "should return pl for #{pl_ip}" do # Poland
52
+ expect(GeoLocale.country_code(ip: "#{pl_ip}")).to eq "pl"
53
+ end
54
+
55
+ describe "falling back to defaults" do
56
+ it "should return config default and set value for 0.0.0.0" do
57
+ expect(GeoLocale.country_code(ip: "0.0.0.0")).to eq "us"
58
+ GeoLocale.config.default_country = "de"
59
+ expect(GeoLocale.country_code(ip: "0.0.0.0")).to eq "de"
60
+ end
61
+
62
+ it "should return config default and set value for localhost" do
63
+ expect(GeoLocale.country_code(ip: "localhost")).to eq "us"
64
+ GeoLocale.config.default_country = "fr"
65
+ expect(GeoLocale.country_code(ip: "localhost")).to eq "fr"
66
+ end
67
+
68
+ it "should return default value for nil" do
69
+ expect(GeoLocale.country_code(ip: nil)).to eq "us"
70
+ GeoLocale.config.default_country = "de"
71
+ expect(GeoLocale.country_code(ip: nil)).to eq "de"
72
+ end
73
+
74
+ it "should return default value for empty IP string" do
75
+ expect(GeoLocale.country_code(ip: "")).to eq "us"
76
+ GeoLocale.config.default_country = "de"
77
+ expect(GeoLocale.country_code(ip: "")).to eq "de"
78
+ end
79
+ end
80
+ end
81
+
82
+ # privates
83
+ describe ".geo_ip_try(ip)" do
22
84
  it "should return nil for 0.0.0.0" do
23
85
  expect(GeoLocale.geo_ip_try("0.0.0.0")).to eq nil
24
86
  end
@@ -58,7 +120,10 @@ describe "Geolocation" do
58
120
  end
59
121
  end
60
122
 
61
- describe "GeoKit" do # enable these to see IPs fail
123
+ describe ".geokit_try(ip)" do
124
+ it "should return nil if taking too long" do
125
+ expect( klass.send(:geokit_try, "1.1.1.1") ).to eq nil
126
+ end
62
127
  # xit "should return nil for #{lv_ip}" do
63
128
  # expect(GeoLocale.geokit_try("#{lv_ip}")).to eq nil
64
129
  # end
@@ -99,48 +164,4 @@ describe "Geolocation" do
99
164
  # end
100
165
  end
101
166
 
102
- describe "Cascade" do
103
- it "should return config default and set value for 0.0.0.0" do
104
- expect(GeoLocale.country_code(ip: "0.0.0.0")).to eq "us"
105
- GeoLocale.config.default_country = "de"
106
- expect(GeoLocale.country_code(ip: "0.0.0.0")).to eq "de"
107
- end
108
- it "should return config default and set value for localhost" do
109
- expect(GeoLocale.country_code(ip: "localhost")).to eq "us"
110
- GeoLocale.config.default_country = "fr"
111
- expect(GeoLocale.country_code(ip: "localhost")).to eq "fr"
112
- end
113
- it "should return lv for #{lv_ip}" do
114
- expect(GeoLocale.country_code(ip: lv_ip)).to eq "lv"
115
- end
116
- it "should return lt for #{lt_ip}" do
117
- expect(GeoLocale.country_code(ip: lt_ip)).to eq "lt"
118
- end
119
- it "should return ee for #{ee_ip}" do
120
- expect(GeoLocale.country_code(ip: ee_ip)).to eq "ee"
121
- end
122
- it "should return et for #{ee_ip} after override" do
123
- GeoLocale.config.overrides["ee"] = "et"
124
- expect(GeoLocale.country_code(ip: "#{ee_ip}")).to eq "et"
125
- end
126
- it "should return ru for #{ru_ip}" do
127
- expect(GeoLocale.country_code(ip: "#{ru_ip}")).to eq "ru"
128
- end
129
- it "should return us for #{us_ip}" do
130
- expect(GeoLocale.country_code(ip: "#{us_ip}")).to eq "us"
131
- end
132
- it "should return gb for #{gb_ip}" do # Great Britain
133
- expect(GeoLocale.country_code(ip: "#{gb_ip}")).to eq "gb"
134
- end
135
- it "should return ir for #{ir_ip}" do # Iran
136
- expect(GeoLocale.country_code(ip: "#{ir_ip}")).to eq "ir"
137
- end
138
- it "should return ie for #{ie_ip}" do # Ireland
139
- expect(GeoLocale.country_code(ip: "#{ie_ip}")).to eq "ie"
140
- end
141
- it "should return pl for #{pl_ip}" do # Poland
142
- expect(GeoLocale.country_code(ip: "#{pl_ip}")).to eq "pl"
143
- end
144
- end
145
-
146
167
  end
@@ -1,8 +1,9 @@
1
- # rspec spec/tests/locale_spec.rb
2
-
3
1
  require 'spec_helper'
4
2
 
3
+ # rspec spec/tests/locale_spec.rb
5
4
  describe "Locale interpret" do
5
+ klass = GeoLocale
6
+
6
7
  lv_ip = LV_IPS.sample
7
8
  lt_ip = LT_IPS.sample
8
9
  ee_ip = EE_IPS.sample
@@ -18,94 +19,109 @@ describe "Locale interpret" do
18
19
  GeoLocale.configure {}
19
20
  end
20
21
 
21
- describe "from country code" do
22
- context "with unchanged defaults" do
23
- it "should return en if no arguments given" do
24
- expect( GeoLocale.locale(country_code: "") ).to eq "en"
25
- end
26
- it 'should return lv for country_code: "lv"' do
27
- expect( GeoLocale.locale(country_code: "lv") ).to eq "lv"
28
- end
29
- it 'should return en for country_code: "gb"' do
30
- expect( GeoLocale.locale(country_code: "gb") ).to eq "en"
31
- end
32
- it 'should return en-gb for country_code: "gb", lcid: true' do
33
- expect( GeoLocale.locale(country_code: "gb", lcid: true) ).to eq "en-gb"
22
+ describe ".locale (ip: "", country_code: nil, lcid: false)" do
23
+ describe "from country code" do
24
+ context "with unchanged defaults" do
25
+ it "should return en if no arguments given" do
26
+ expect( klass.locale(country_code: "") ).to eq "en"
27
+ end
28
+ it 'should return lv for country_code: "lv"' do
29
+ expect( klass.locale(country_code: "lv") ).to eq "lv"
30
+ end
31
+ it 'should return en for country_code: "gb"' do
32
+ expect( klass.locale(country_code: "gb") ).to eq "en"
33
+ end
34
+ it 'should return en-gb for country_code: "gb", lcid: true' do
35
+ expect( klass.locale(country_code: "gb", lcid: true) ).to eq "en-gb"
36
+ end
37
+ end
38
+ context "with customized config" do
39
+ it "should return de if no arguments given" do
40
+ klass.config.default_locale = "ch"
41
+ puts klass.config.inspect
42
+ expect( klass.locale(country_code: "") ).to eq "ch"
43
+ end
44
+ it 'should return lv for country_code: "lv"' do
45
+ klass.config.default_country = "de"
46
+ expect( klass.locale(country_code: "lv") ).to eq "lv"
47
+ end
48
+ it 'should return en for country_code: "gb"' do
49
+ klass.config.default_country = "de"
50
+ expect( klass.locale(country_code: "gb") ).to eq "en"
51
+ end
52
+ it 'should return en-gb for country_code: "gb", lcid: true' do
53
+ klass.config.default_country = "de"
54
+ expect( klass.locale(country_code: "gb", lcid: true) ).to eq "en-gb"
55
+ end
34
56
  end
35
57
  end
36
- context "with customized config" do
37
- it "should return de if no arguments given" do
38
- GeoLocale.config.default_locale = "ch"
39
- puts GeoLocale.config.inspect
40
- expect( GeoLocale.locale(country_code: "") ).to eq "ch"
41
- end
42
- it 'should return lv for country_code: "lv"' do
43
- GeoLocale.config.default_country = "de"
44
- expect( GeoLocale.locale(country_code: "lv") ).to eq "lv"
45
- end
46
- it 'should return en for country_code: "gb"' do
47
- GeoLocale.config.default_country = "de"
48
- expect( GeoLocale.locale(country_code: "gb") ).to eq "en"
49
- end
50
- it 'should return en-gb for country_code: "gb", lcid: true' do
51
- GeoLocale.config.default_country = "de"
52
- expect( GeoLocale.locale(country_code: "gb", lcid: true) ).to eq "en-gb"
58
+
59
+ describe "from IP" do
60
+ context "with unchanged defaults" do
61
+ it "should return en if no arguments given" do
62
+ expect( klass.locale(ip: "") ).to eq "en"
63
+ end
64
+ it "should return lv for #{lv_ip}" do
65
+ expect( klass.locale(ip: lv_ip) ).to eq "lv"
66
+ end
67
+ it "should return en for #{us_ip} " do
68
+ expect( klass.locale(ip: us_ip) ).to eq "en"
69
+ end
70
+ it "should return en-ie for #{ie_ip}, lcid: true" do
71
+ expect( klass.locale(ip: ie_ip, lcid: true) ).to eq "en-ie"
72
+ end
73
+ end
74
+ context "with customized config" do
75
+ it "should return en if only default_contry configured and no arguments given" do
76
+ klass.config.default_country = "no"
77
+ expect( klass.locale(ip: "") ).to eq "en"
78
+ end
79
+ it "should return en if only default_locale configured and no arguments given" do
80
+ klass.config.default_locale = "no"
81
+ expect( klass.locale(ip: "") ).to eq "en"
82
+ end
83
+ it 'should return "no" if both defaults configured and no arguments given' do
84
+ klass.config.default_country = "no"
85
+ klass.config.default_locale = "no"
86
+ expect( klass.locale(ip: "") ).to eq "no"
87
+ end
88
+ it "should return lv for #{lv_ip}" do
89
+ klass.config.default_country = "no"
90
+ klass.config.default_locale = "no"
91
+ expect( klass.locale(ip: lv_ip) ).to eq "lv"
92
+ end
93
+ it "should return en for #{gb_ip}" do
94
+ klass.config.default_country = "no"
95
+ klass.config.default_locale = "no"
96
+ expect( klass.locale(ip: gb_ip) ).to eq "en"
97
+ end
98
+ it "should return en-ie for #{ie_ip}, lcid: true" do
99
+ klass.config.default_country = "no"
100
+ klass.config.default_locale = "no"
101
+ expect( klass.locale(ip: ie_ip, lcid: true) ).to eq "en-ie"
102
+ end
103
+ it "should return lt for #{lt_ip}, lcid: true" do
104
+ klass.config.default_country = "no"
105
+ klass.config.default_locale = "no"
106
+ expect( klass.locale(ip: lt_ip, lcid: true) ).to eq "lt"
107
+ end
53
108
  end
54
109
  end
55
110
  end
56
111
 
57
- describe "from IP" do
58
- context "with unchanged defaults" do
59
- it "should return en if no arguments given" do
60
- expect( GeoLocale.locale(ip: "") ).to eq "en"
61
- end
62
- it "should return lv for #{lv_ip}" do
63
- expect( GeoLocale.locale(ip: lv_ip) ).to eq "lv"
64
- end
65
- it "should return en for #{us_ip} " do
66
- expect( GeoLocale.locale(ip: us_ip) ).to eq "en"
67
- end
68
- it "should return en-ie for #{ie_ip}, lcid: true" do
69
- expect( GeoLocale.locale(ip: ie_ip, lcid: true) ).to eq "en-ie"
70
- end
112
+ # privates
113
+ describe ".get_locale_or_lcid(country_code: nil, lcid: false)" do
114
+ it "should return default countries locale if passed nothing" do
115
+ expect(klass.get_locale_or_lcid).to eq klass.config.default_locale
71
116
  end
72
- context "with customized config" do
73
- it "should return en if only default_contry configured and no arguments given" do
74
- GeoLocale.config.default_country = "no"
75
- expect( GeoLocale.locale(ip: "") ).to eq "en"
76
- end
77
- it "should return en if only default_locale configured and no arguments given" do
78
- GeoLocale.config.default_locale = "no"
79
- expect( GeoLocale.locale(ip: "") ).to eq "en"
80
- end
81
- it 'should return "no" if both defaults configured and no arguments given' do
82
- GeoLocale.config.default_country = "no"
83
- GeoLocale.config.default_locale = "no"
84
- expect( GeoLocale.locale(ip: "") ).to eq "no"
85
- end
86
- it "should return lv for #{lv_ip}" do
87
- GeoLocale.config.default_country = "no"
88
- GeoLocale.config.default_locale = "no"
89
- expect( GeoLocale.locale(ip: lv_ip) ).to eq "lv"
90
- end
91
- it "should return en for #{gb_ip}" do
92
- GeoLocale.config.default_country = "no"
93
- GeoLocale.config.default_locale = "no"
94
- expect( GeoLocale.locale(ip: gb_ip) ).to eq "en"
95
- end
96
- it "should return en-ie for #{ie_ip}, lcid: true" do
97
- GeoLocale.config.default_country = "no"
98
- GeoLocale.config.default_locale = "no"
99
- expect( GeoLocale.locale(ip: ie_ip, lcid: true) ).to eq "en-ie"
100
- end
101
- it "should return lt for #{lt_ip}, lcid: true" do
102
- GeoLocale.config.default_country = "no"
103
- GeoLocale.config.default_locale = "no"
104
- expect( GeoLocale.locale(ip: lt_ip, lcid: true) ).to eq "lt"
105
- end
106
- end
107
- end
108
117
 
118
+ it "should return default countries locale if passed nil country_code" do
119
+ expect(klass.get_locale_or_lcid(country_code: nil)).to eq klass.config.default_locale
120
+ end
109
121
 
122
+ it "should return default countries locale if passed empty country_code string" do
123
+ expect(klass.get_locale_or_lcid(country_code: "")).to eq klass.config.default_locale
124
+ end
125
+ end
110
126
 
111
127
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  # rspec spec/tests/localhost_spec.rb
4
- describe "Geolocation" do
4
+ describe "GeoLocale" do
5
5
  before :each do
6
6
  GeoLocale.configure do |config|
7
7
  config.localhost_country = "lt"
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geo_locale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Epigene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-02 00:00:00.000000000 Z
11
+ date: 2016-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: geoip
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: geokit
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: geokit-rails
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: '["Uses GeoIP gem and a free country database"]'
@@ -115,8 +115,8 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - ".gitignore"
119
- - ".rspec"
118
+ - .gitignore
119
+ - .rspec
120
120
  - CHANGELOG.md
121
121
  - Gemfile
122
122
  - LICENSE.txt
@@ -143,17 +143,17 @@ require_paths:
143
143
  - lib
144
144
  required_ruby_version: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - ">="
146
+ - - '>='
147
147
  - !ruby/object:Gem::Version
148
- version: '0'
148
+ version: 2.0.0
149
149
  required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - ">="
151
+ - - '>='
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  requirements: []
155
155
  rubyforge_project: geo_locale
156
- rubygems_version: 2.2.2
156
+ rubygems_version: 2.4.6
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: '["A Rails 4+ gem for getting user country"]'