uri 1.1.1 → 1.1.2

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
  SHA256:
3
- metadata.gz: 4d3b082505394be3f41eaa0d3a91a22ddf30e9064dc72c228fb46fb5131f2900
4
- data.tar.gz: df272886d408cd1999654d23b1e3e7f6c9466e4e04b784bc462ed7d8ac609ba9
3
+ metadata.gz: f729b13be0d81e7cc63f883ca7894af59511cd48edda7f8c0660d4eb33392d5d
4
+ data.tar.gz: b167fc47d98e7ab0f33936a659b9a3c8ab2fe347284c5b16666ba3220e57dcc6
5
5
  SHA512:
6
- metadata.gz: 5e6e478e4ea13c8436c8b51a3a67755de842ab718835ff8b3fcaa5520d77bbfdac83f7092b8d22dfe7e54ac33d1f21b8a1ab7c2dce0f8e73dde4f3fa7667dee2
7
- data.tar.gz: 1cea8abe746b7ad37355e785ca627d6ddb86adbb565d3c6cd59ab44102d7dfa5c9efb75f9ca46fe8e3d9d400194f9571c259064f8828601f942054cdebd34f91
6
+ metadata.gz: 3013310fc66ca0535bc1f33171e11085f030884c9519405b63911bb6bddeb12c421c9aefcb34883fd26b76fe3b0672099c14de382ac88b6fdf97b8415eb851f2
7
+ data.tar.gz: acc131da190534e84b45aa10765628522416f3d90efc7fa60d58a1ea13c5567a5bd81c7e0e5abbda21d5e67646d194bccd38037bad2ed5f15e17fe202676028b
data/lib/uri/common.rb CHANGED
@@ -271,7 +271,7 @@ module URI
271
271
  # # => #<URI::HTTP http://example.com/foo/bar>
272
272
  #
273
273
  def self.join(*str)
274
- DEFAULT_PARSER.join(*str)
274
+ PARSER.join(*str)
275
275
  end
276
276
 
277
277
  #
data/lib/uri/generic.rb CHANGED
@@ -466,7 +466,7 @@ module URI
466
466
  #
467
467
  # uri = URI.parse("http://john:S3nsit1ve@my.example.com")
468
468
  # uri.user = "sam"
469
- # uri.to_s #=> "http://sam:V3ry_S3nsit1ve@my.example.com"
469
+ # uri.to_s #=> "http://sam@my.example.com"
470
470
  #
471
471
  def user=(user)
472
472
  check_user(user)
@@ -1021,9 +1021,21 @@ module URI
1021
1021
 
1022
1022
  # RFC2396, Section 5.2, 6), a)
1023
1023
  base_path << '' if base_path.last == '..'
1024
- while i = base_path.index('..')
1025
- base_path.slice!(i - 1, 2)
1024
+ # Remove "<segment>/.." pairs in a single left-to-right pass (O(n)).
1025
+ # This deliberately differs from the relative-path stack handling
1026
+ # below: a leading ".." (one with no preceding segment left to
1027
+ # cancel) discards the whole base path, reproducing the previous
1028
+ # index/slice! implementation exactly.
1029
+ reduced = []
1030
+ base_path.each do |seg|
1031
+ if seg == '..'
1032
+ break if reduced.empty?
1033
+ reduced.pop
1034
+ else
1035
+ reduced << seg
1036
+ end
1026
1037
  end
1038
+ base_path = reduced
1027
1039
 
1028
1040
  if (first = rel_path.first) and first.empty?
1029
1041
  base_path.clear
data/lib/uri/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module URI
2
2
  # :stopdoc:
3
- VERSION = '1.1.1'.freeze
3
+ VERSION = '1.1.2'.freeze
4
4
  VERSION_CODE = VERSION.split('.').map{|s| s.rjust(2, '0')}.join.freeze
5
5
  # :startdoc:
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Yamada