summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 21:28:26 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-08 21:28:26 +0000
commitf2b9563bb40f1620da3965cfdb13cb9a8aebba74 (patch)
tree202dc4f99cc200124e245e9e813925ee889cf27e
parent0df938d5be9ebbbbb9828b77370621a908e674ba (diff)
lib/uri/generic.rb: enable frozen_string_literal
* lib/uri/generic.rb: enable frozen_string_literal (split_userinfo): remove explicit .freeze for string literals (check_path): ditto (query): ditto (fragment): ditto (to_s): ditto [ruby-core:71910] [Bug #11759] Patch-by: Colin Kelley <colindkelley@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--lib/uri/generic.rb32
2 files changed, 27 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 912984afb69..9f46da79a99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Wed Dec 9 06:26:23 2015 Colin Kelley <colindkelley@gmail.com>
+
+ * lib/uri/generic.rb: enable frozen_string_literal
+ (split_userinfo): remove explicit .freeze for string literals
+ (check_path): ditto
+ (query): ditto
+ (fragment): ditto
+ (to_s): ditto
+ [ruby-core:71910] [Bug #11759]
+
Wed Dec 9 06:25:47 2015 Eric Wong <e@80x24.org>
* test/uri/test_generic.rb (to_s): new test
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb
index 5c134e5924c..1486a4cb25e 100644
--- a/lib/uri/generic.rb
+++ b/lib/uri/generic.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# = uri/generic.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
@@ -543,7 +545,7 @@ module URI
# if properly formatted as 'user:password'
def split_userinfo(ui)
return nil, nil unless ui
- user, password = ui.split(':'.freeze, 2)
+ user, password = ui.split(':', 2)
return user, password
end
@@ -762,13 +764,13 @@ module URI
# If scheme is ftp, path may be relative.
# See RFC 1738 section 3.2.2, and RFC 2396.
- if @scheme && @scheme != "ftp".freeze
- if v && v != ''.freeze && parser.regexp[:ABS_PATH] !~ v
+ if @scheme && @scheme != "ftp"
+ if v && v != '' && parser.regexp[:ABS_PATH] !~ v
raise InvalidComponentError,
"bad component(expected absolute path component): #{v}"
end
else
- if v && v != ''.freeze && parser.regexp[:ABS_PATH] !~ v &&
+ if v && v != '' && parser.regexp[:ABS_PATH] !~ v &&
parser.regexp[:REL_PATH] !~ v
raise InvalidComponentError,
"bad component(expected relative path component): #{v}"
@@ -844,9 +846,9 @@ module URI
x = v.to_str
v = x.dup if x.equal? v
v.encode!(Encoding::UTF_8) rescue nil
- v.delete!("\t\r\n".freeze)
+ v.delete!("\t\r\n")
v.force_encoding(Encoding::ASCII_8BIT)
- v.gsub!(/(?!%\h\h|[!$-&(-;=?-_a-~])./n.freeze){'%%%02X'.freeze % $&.ord}
+ v.gsub!(/(?!%\h\h|[!$-&(-;=?-_a-~])./n.freeze){'%%%02X' % $&.ord}
v.force_encoding(Encoding::US_ASCII)
@query = v
end
@@ -934,9 +936,9 @@ module URI
x = v.to_str
v = x.dup if x.equal? v
v.encode!(Encoding::UTF_8) rescue nil
- v.delete!("\t\r\n".freeze)
+ v.delete!("\t\r\n")
v.force_encoding(Encoding::ASCII_8BIT)
- v.gsub!(/(?!%\h\h|[!-~])./n){'%%%02X'.freeze % $&.ord}
+ v.gsub!(/(?!%\h\h|[!-~])./n){'%%%02X' % $&.ord}
v.force_encoding(Encoding::US_ASCII)
@fragment = v
end
@@ -1339,37 +1341,37 @@ module URI
# Constructs String from URI
#
def to_s
- str = ''
+ str = String.new
if @scheme
str << @scheme
- str << ':'.freeze
+ str << ':'
end
if @opaque
str << @opaque
else
if @host
- str << '//'.freeze
+ str << '//'
end
if self.userinfo
str << self.userinfo
- str << '@'.freeze
+ str << '@'
end
if @host
str << @host
end
if @port && @port != self.default_port
- str << ':'.freeze
+ str << ':'
str << @port.to_s
end
str << @path
if @query
- str << '?'.freeze
+ str << '?'
str << @query
end
end
if @fragment
- str << '#'.freeze
+ str << '#'
str << @fragment
end
str