wovnrb 0.2.25 → 0.2.26

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: 7fb36534c436a191a760359ec8eed7972616d09b
4
- data.tar.gz: a53f3c30df5503b55b85efde0def6899e145f2a6
3
+ metadata.gz: 31142a2c019c93131fd423b8019e803dc7729193
4
+ data.tar.gz: 1753cc34aaedf94b5d7bb3bc21a70a792cb8e1c8
5
5
  SHA512:
6
- metadata.gz: 97a24180cd6237673f95b406f07c1928ac7cc7032adfa7e3c45396b1ee0ae023feeb7e78c85a35e9ecb3ac619ef3d4ac10998dad3b90424f7b042dff5f7b2410
7
- data.tar.gz: f37153ea07b8cfb5326849423fb3400afd575c6e63b0a3c8af1b65191d59d4d3aaebc6c90d9e47b9d8fe4aec8ef3902b7bd3b3bce4792002c49fbfef227d03bd
6
+ metadata.gz: 34165658b41c519a54d8efae36bba7a45b3c242b03d76ac2b82666d97e77ff2006f138b51db3313a7916dd8fa1339ff522645bed7beee7acc253e5d82d45a04e
7
+ data.tar.gz: 39145d2508fbbff2281332a63e68b93359f55671f054d9c85af858bb765bba1fdb2e1bdeff57c46f469c22f724bbb89fd30b60df5fd12787a9e68e35d89878a8
@@ -106,7 +106,7 @@ module Wovnrb
106
106
  new_href = href.sub(/(\/\/)([^\.]*)/, '\1' + code_to_add.downcase + '.' + '\2')
107
107
  end
108
108
  when 'query'
109
- new_href = href =~ /\?/ ? href + '&wovn=' + code_to_add : href + '?wovn=' + code_to_add
109
+ new_href = add_query_lang_code(href, code_to_add)
110
110
  else # path
111
111
  new_href = href.sub(/([^\.]*\.[^\/]*)(\/|$)/, '\1/' + code_to_add + '/')
112
112
  end
@@ -130,7 +130,7 @@ module Wovnrb
130
130
  new_href = lang_url + current_dir + '/' + href
131
131
  end
132
132
  when 'query'
133
- new_href = href =~ /\?/ ? href + '&wovn=' + code_to_add : href + '?wovn=' + code_to_add
133
+ new_href = add_query_lang_code(href, code_to_add)
134
134
  else # path
135
135
  if href =~ /^\//
136
136
  new_href = '/' + code_to_add + href
@@ -201,5 +201,11 @@ module Wovnrb
201
201
  end
202
202
  langs
203
203
  end
204
+
205
+ def add_query_lang_code(href, lang_code)
206
+ query_separator = href =~ /\?/ ? '&' : '?'
207
+
208
+ href.sub(/(#|$)/, "#{query_separator}wovn=#{lang_code}\\1")
209
+ end
204
210
  end
205
211
  end
@@ -1,3 +1,3 @@
1
1
  module Wovnrb
2
- VERSION = "0.2.25"
2
+ VERSION = "0.2.26"
3
3
  end
@@ -238,6 +238,12 @@ module Wovnrb
238
238
  assert_equal('http://google.com?hey=yo&wovn=fr', lang.add_lang_code('http://google.com?hey=yo', 'query', headers))
239
239
  end
240
240
 
241
+ def test_add_lang_code_absolute_query_with_hash
242
+ lang = Lang.new('fr')
243
+ headers = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://google.com'), Wovnrb.get_settings)
244
+ assert_equal('http://google.com?wovn=fr#test', lang.add_lang_code('http://google.com#test', 'query', headers))
245
+ end
246
+
241
247
  def test_add_lang_code_absolute_path_no_pathname
242
248
  lang = Lang.new('fr')
243
249
  headers = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://google.com'), Wovnrb.get_settings)
@@ -286,6 +292,12 @@ module Wovnrb
286
292
  assert_equal('/index.html?hey=yo&wovn=fr', lang.add_lang_code('/index.html?hey=yo', 'query', headers))
287
293
  end
288
294
 
295
+ def test_add_lang_code_relative_query_with_hash
296
+ lang = Lang.new('fr')
297
+ headers = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://google.com/'), Wovnrb.get_settings)
298
+ assert_equal('/index.html?hey=yo&wovn=fr', lang.add_lang_code('/index.html?hey=yo', 'query', headers))
299
+ end
300
+
289
301
  def test_add_lang_code_relative_path_with_leading_slash
290
302
  lang = Lang.new('fr')
291
303
  headers = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://google.com/'), Wovnrb.get_settings)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wovnrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.25
4
+ version: 0.2.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Sandford
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-10-20 00:00:00.000000000 Z
12
+ date: 2017-11-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogumbo