wovnrb 0.2.25 → 0.2.26

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.
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