From d91a98d3af455fa14b2eef5da6266770fc524fe4 Mon Sep 17 00:00:00 2001 From: Dillon Welch Date: Fri, 10 Aug 2018 13:10:33 -0700 Subject: [PATCH] Add frozen_string_literal pragma This will prevent the same string from being re-initialized over and over --- Rakefile | 2 ++ benchmark/simple.rb | 2 ++ lib/addressable.rb | 2 ++ lib/addressable/idna.rb | 2 ++ lib/addressable/idna/native.rb | 2 ++ lib/addressable/idna/pure.rb | 2 ++ lib/addressable/template.rb | 2 ++ lib/addressable/uri.rb | 3 +++ lib/addressable/version.rb | 2 ++ spec/addressable/idna_spec.rb | 2 ++ spec/addressable/net_http_compat_spec.rb | 2 ++ spec/addressable/rack_mount_compat_spec.rb | 2 ++ spec/addressable/security_spec.rb | 2 ++ spec/addressable/template_spec.rb | 2 ++ spec/addressable/uri_spec.rb | 2 ++ spec/spec_helper.rb | 2 ++ tasks/clobber.rake | 2 ++ tasks/gem.rake | 2 ++ tasks/git.rake | 2 ++ tasks/metrics.rake | 2 ++ tasks/rspec.rake | 2 ++ tasks/yard.rake | 2 ++ 22 files changed, 45 insertions(+) diff --git a/Rakefile b/Rakefile index ffdcb8c5..64b9deac 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rubygems' require 'rake' diff --git a/benchmark/simple.rb b/benchmark/simple.rb index ab2d52ad..85fc84cf 100644 --- a/benchmark/simple.rb +++ b/benchmark/simple.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'benchmark' $: << '../lib' << 'lib' diff --git a/lib/addressable.rb b/lib/addressable.rb index f09a05e9..b4e98b69 100644 --- a/lib/addressable.rb +++ b/lib/addressable.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + require 'addressable/uri' require 'addressable/template' diff --git a/lib/addressable/idna.rb b/lib/addressable/idna.rb index c6da1b06..e41c1f5d 100644 --- a/lib/addressable/idna.rb +++ b/lib/addressable/idna.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman diff --git a/lib/addressable/idna/native.rb b/lib/addressable/idna/native.rb index e7c22547..84de8e8c 100644 --- a/lib/addressable/idna/native.rb +++ b/lib/addressable/idna/native.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman diff --git a/lib/addressable/idna/pure.rb b/lib/addressable/idna/pure.rb index 254e1f59..519094da 100644 --- a/lib/addressable/idna/pure.rb +++ b/lib/addressable/idna/pure.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman diff --git a/lib/addressable/template.rb b/lib/addressable/template.rb index feee3f17..75077fe4 100644 --- a/lib/addressable/template.rb +++ b/lib/addressable/template.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman diff --git a/lib/addressable/uri.rb b/lib/addressable/uri.rb index a3a077d5..13aba158 100644 --- a/lib/addressable/uri.rb +++ b/lib/addressable/uri.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman @@ -208,6 +210,7 @@ def self.heuristic_parse(uri, hints={}) new_authority = authority.gsub(/\\/, '/').gsub(/ /, '%20') # NOTE: We want offset 4, not 3! offset = match.offset(4) + uri = uri.dup uri[offset[0]...offset[1]] = new_authority end parsed = self.parse(uri) diff --git a/lib/addressable/version.rb b/lib/addressable/version.rb index 4d284656..b4bac551 100644 --- a/lib/addressable/version.rb +++ b/lib/addressable/version.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # encoding:utf-8 #-- # Copyright (C) Bob Aman diff --git a/spec/addressable/idna_spec.rb b/spec/addressable/idna_spec.rb index 439687e9..651f75af 100644 --- a/spec/addressable/idna_spec.rb +++ b/spec/addressable/idna_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/addressable/net_http_compat_spec.rb b/spec/addressable/net_http_compat_spec.rb index eee3f869..8663a867 100644 --- a/spec/addressable/net_http_compat_spec.rb +++ b/spec/addressable/net_http_compat_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/addressable/rack_mount_compat_spec.rb b/spec/addressable/rack_mount_compat_spec.rb index 622a4abb..7b02cb76 100644 --- a/spec/addressable/rack_mount_compat_spec.rb +++ b/spec/addressable/rack_mount_compat_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/addressable/security_spec.rb b/spec/addressable/security_spec.rb index 32754941..601e8088 100644 --- a/spec/addressable/security_spec.rb +++ b/spec/addressable/security_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/addressable/template_spec.rb b/spec/addressable/template_spec.rb index cff4a873..92c7f4a7 100644 --- a/spec/addressable/template_spec.rb +++ b/spec/addressable/template_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/addressable/uri_spec.rb b/spec/addressable/uri_spec.rb index 5e0580f4..9122a243 100644 --- a/spec/addressable/uri_spec.rb +++ b/spec/addressable/uri_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # coding: utf-8 # Copyright (C) Bob Aman # diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0813f79b..4427f214 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'bundler/setup' require 'rspec/its' diff --git a/tasks/clobber.rake b/tasks/clobber.rake index 093ce817..a9e32b34 100644 --- a/tasks/clobber.rake +++ b/tasks/clobber.rake @@ -1,2 +1,4 @@ +# frozen_string_literal: true + desc "Remove all build products" task "clobber" diff --git a/tasks/gem.rake b/tasks/gem.rake index b4052c04..c4cc043c 100644 --- a/tasks/gem.rake +++ b/tasks/gem.rake @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "rubygems/package_task" namespace :gem do diff --git a/tasks/git.rake b/tasks/git.rake index 74ec2fd2..1238c8d2 100644 --- a/tasks/git.rake +++ b/tasks/git.rake @@ -1,3 +1,5 @@ +# frozen_string_literal: true + namespace :git do namespace :tag do desc "List tags from the Git repository" diff --git a/tasks/metrics.rake b/tasks/metrics.rake index 41fc5c2b..107cc244 100644 --- a/tasks/metrics.rake +++ b/tasks/metrics.rake @@ -1,3 +1,5 @@ +# frozen_string_literal: true + namespace :metrics do task :lines do lines, codelines, total_lines, total_codelines = 0, 0, 0, 0 diff --git a/tasks/rspec.rake b/tasks/rspec.rake index e74a6c8d..85288438 100644 --- a/tasks/rspec.rake +++ b/tasks/rspec.rake @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "rspec/core/rake_task" namespace :spec do diff --git a/tasks/yard.rake b/tasks/yard.rake index 68e44910..515f9603 100644 --- a/tasks/yard.rake +++ b/tasks/yard.rake @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "rake" begin