localized 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- localized (0.0.5)
4
+ localized (0.0.6)
5
5
  bitfields (>= 0.4.0)
6
6
  rails (>= 3.0)
7
7
 
@@ -16,7 +16,7 @@ module Localized::Helper
16
16
  end
17
17
 
18
18
  def url_for(options = nil)
19
- if options.kind_of?(Hash)
19
+ if options.kind_of?(Hash) and not ip?(request.host)
20
20
  options[:host] = with_locale(options.delete(:site))
21
21
  end
22
22
  super options
@@ -24,6 +24,10 @@ module Localized::Helper
24
24
 
25
25
  protected
26
26
 
27
+ def ip?(hostname)
28
+ /\A[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\Z/.match(hostname).present?
29
+ end
30
+
27
31
  def with_locale(site = nil)
28
32
  current_site = Localized::Config.locale_to_site_map[I18n.locale]
29
33
  site = if site.blank? and current_site != Localized::Config.default_site
@@ -2,7 +2,7 @@ Gem::Specification.new do |s|
2
2
  s.name = 'localized'
3
3
  s.author = 'Paul Hepworth'
4
4
  s.email = 'paul<dot>hepworth<at>peppyheppy<dot>com'
5
- s.version = '0.0.6'
5
+ s.version = '0.0.7'
6
6
  s.homepage = 'https://github.com/peppyheppy/localized'
7
7
  s.date = '2011-07-09'
8
8
  s.summary = "A ruby on rails gem that provides locale setting support through the subdomain (in a box)"
@@ -19,7 +19,7 @@ describe FoobarController , "locale specific routes", :type => :controller do
19
19
  end
20
20
 
21
21
  it "should error if site is not supported" do
22
- expect {
22
+ expect {
23
23
  root_url(:site => 'cz')
24
24
  }.to raise_error(ArgumentError)
25
25
  end
@@ -37,6 +37,20 @@ describe FoobarController , "locale specific routes", :type => :controller do
37
37
 
38
38
  end
39
39
 
40
+ describe "when host is an ip address" do
41
+ it "should not override the hostname if the ip address is local" do
42
+ @request.host = '127.0.0.1'
43
+ get :test
44
+ root_url.should == 'http://127.0.0.1/'
45
+ end
46
+
47
+ it "should not override the hostname if the ip address is local" do
48
+ @request.host = '64.24.234.234'
49
+ get :test
50
+ root_url.should == 'http://64.24.234.234/'
51
+ end
52
+ end
53
+
40
54
  describe "subdomain locale" do
41
55
 
42
56
  it "should set the current locale to that of the subdomain" do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: localized
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.6
5
+ version: 0.0.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Paul Hepworth
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-09 00:00:00 -04:00
13
+ date: 2011-07-09 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency