diff options
author | Dillon Welch <daw0328@gmail.com> | 2018-08-10 15:37:42 -0700 |
---|---|---|
committer | Austin Ziegler <austin@zieglers.ca> | 2018-08-11 23:22:09 -0400 |
commit | 650e741cf52de40aae97a78ea21d7153d90e0a2c (patch) | |
tree | 64f8cfc4d0827c0ea68adddb83e405bf90bbabec | |
parent | 04835d383336c5db3cc4305e5f2e88a1588dacf6 (diff) | |
download | mime-types-650e741cf52de40aae97a78ea21d7153d90e0a2c.tar.gz |
Hardcode common argument results to prevent dup string allocations
28 files changed, 70 insertions, 12 deletions
@@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'rubygems' diff --git a/lib/mime-types.rb b/lib/mime-types.rb index fc219b8..5c7dd73 100644 --- a/lib/mime-types.rb +++ b/lib/mime-types.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + require 'mime/types' diff --git a/lib/mime/type.rb b/lib/mime/type.rb index f08c6c2..64b14cc 100644 --- a/lib/mime/type.rb +++ b/lib/mime/type.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ## module MIME end @@ -129,7 +131,11 @@ class MIME::Type elsif other.respond_to?(:simplified) simplified <=> other.simplified else - simplified <=> MIME::Type.simplified(other.to_s) + filtered = 'silent' if other == :silent + filtered ||= 'true' if other == true + filtered ||= other.to_s + + simplified <=> MIME::Type.simplified(filtered) end end diff --git a/lib/mime/type/columnar.rb b/lib/mime/type/columnar.rb index 31b6140..357470f 100644 --- a/lib/mime/type/columnar.rb +++ b/lib/mime/type/columnar.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'mime/type' # A version of MIME::Type that works hand-in-hand with a MIME::Types::Columnar diff --git a/lib/mime/types.rb b/lib/mime/types.rb index 26277b3..e3b9f61 100644 --- a/lib/mime/types.rb +++ b/lib/mime/types.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ## module MIME ## diff --git a/lib/mime/types/_columnar.rb b/lib/mime/types/_columnar.rb index acafbb9..8c87267 100644 --- a/lib/mime/types/_columnar.rb +++ b/lib/mime/types/_columnar.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'mime/type/columnar' # MIME::Types::Columnar is used to extend a MIME::Types container to load data diff --git a/lib/mime/types/cache.rb b/lib/mime/types/cache.rb index 02ed222..cea282f 100644 --- a/lib/mime/types/cache.rb +++ b/lib/mime/types/cache.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + MIME::Types::Cache = Struct.new(:version, :data) # :nodoc: # Caching of MIME::Types registries is advisable if you will be loading diff --git a/lib/mime/types/columnar.rb b/lib/mime/types/columnar.rb index fc219b8..5c7dd73 100644 --- a/lib/mime/types/columnar.rb +++ b/lib/mime/types/columnar.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + require 'mime/types' diff --git a/lib/mime/types/container.rb b/lib/mime/types/container.rb index a969130..176ae3e 100644 --- a/lib/mime/types/container.rb +++ b/lib/mime/types/container.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' # MIME::Types requires a container Hash with a default values for keys diff --git a/lib/mime/types/deprecations.rb b/lib/mime/types/deprecations.rb index 13b20f8..9edb801 100644 --- a/lib/mime/types/deprecations.rb +++ b/lib/mime/types/deprecations.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types/logger' diff --git a/lib/mime/types/full.rb b/lib/mime/types/full.rb index cf2dc0c..920ad2a 100644 --- a/lib/mime/types/full.rb +++ b/lib/mime/types/full.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ## module MIME ## diff --git a/lib/mime/types/loader.rb b/lib/mime/types/loader.rb index 328534b..6570e61 100644 --- a/lib/mime/types/loader.rb +++ b/lib/mime/types/loader.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- ## diff --git a/lib/mime/types/logger.rb b/lib/mime/types/logger.rb index 0c82c47..eaa09b0 100644 --- a/lib/mime/types/logger.rb +++ b/lib/mime/types/logger.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'logger' diff --git a/lib/mime/types/registry.rb b/lib/mime/types/registry.rb index 3aa0362..7cbd791 100644 --- a/lib/mime/types/registry.rb +++ b/lib/mime/types/registry.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class << MIME::Types include Enumerable diff --git a/mime-types.gemspec b/mime-types.gemspec index 816365c..0a051f5 100644 --- a/mime-types.gemspec +++ b/mime-types.gemspec @@ -8,7 +8,7 @@ Gem::Specification.new do |s| s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= s.require_paths = ["lib".freeze] s.authors = ["Austin Ziegler".freeze] - s.date = "2016-05-22" + s.date = "2018-08-10" s.description = "The mime-types library provides a library and registry for information about\nMIME content type definitions. It can be used to determine defined filename\nextensions for MIME types, or to use filename extensions to look up the likely\nMIME type definitions.\n\nVersion 3.0 is a major release that requires Ruby 2.0 compatibility and removes\ndeprecated functions. The columnar registry format introduced in 2.6 has been\nmade the primary format; the registry data has been extracted from this library\nand put into {mime-types-data}[https://github.com/mime-types/mime-types-data].\nAdditionally, mime-types is now licensed exclusively under the MIT licence and\nthere is a code of conduct in effect. There are a number of other smaller\nchanges described in the History file.".freeze s.email = ["halostatue@gmail.com".freeze] s.extra_rdoc_files = ["Code-of-Conduct.rdoc".freeze, "Contributing.rdoc".freeze, "History.rdoc".freeze, "Licence.rdoc".freeze, "Manifest.txt".freeze, "README.rdoc".freeze] @@ -17,7 +17,7 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze) - s.rubygems_version = "2.6.4".freeze + s.rubygems_version = "2.7.7".freeze s.summary = "The mime-types library provides a library and registry for information about MIME content type definitions".freeze if s.respond_to? :specification_version then @@ -25,8 +25,7 @@ Gem::Specification.new do |s| if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then s.add_runtime_dependency(%q<mime-types-data>.freeze, ["~> 3.2015"]) - s.add_development_dependency(%q<minitest>.freeze, ["~> 5.9"]) - s.add_development_dependency(%q<rdoc>.freeze, ["~> 4.0"]) + s.add_development_dependency(%q<minitest>.freeze, ["~> 5.11"]) s.add_development_dependency(%q<hoe-doofus>.freeze, ["~> 1.0"]) s.add_development_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"]) s.add_development_dependency(%q<hoe-git>.freeze, ["~> 1.6"]) @@ -40,11 +39,11 @@ Gem::Specification.new do |s| s.add_development_dependency(%q<fivemat>.freeze, ["~> 1.3"]) s.add_development_dependency(%q<minitest-rg>.freeze, ["~> 5.2"]) s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.7"]) - s.add_development_dependency(%q<hoe>.freeze, ["~> 3.15"]) + s.add_development_dependency(%q<rdoc>.freeze, ["< 6", ">= 4.0"]) + s.add_development_dependency(%q<hoe>.freeze, ["~> 3.17"]) else s.add_dependency(%q<mime-types-data>.freeze, ["~> 3.2015"]) - s.add_dependency(%q<minitest>.freeze, ["~> 5.9"]) - s.add_dependency(%q<rdoc>.freeze, ["~> 4.0"]) + s.add_dependency(%q<minitest>.freeze, ["~> 5.11"]) s.add_dependency(%q<hoe-doofus>.freeze, ["~> 1.0"]) s.add_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"]) s.add_dependency(%q<hoe-git>.freeze, ["~> 1.6"]) @@ -58,12 +57,12 @@ Gem::Specification.new do |s| s.add_dependency(%q<fivemat>.freeze, ["~> 1.3"]) s.add_dependency(%q<minitest-rg>.freeze, ["~> 5.2"]) s.add_dependency(%q<simplecov>.freeze, ["~> 0.7"]) - s.add_dependency(%q<hoe>.freeze, ["~> 3.15"]) + s.add_dependency(%q<rdoc>.freeze, ["< 6", ">= 4.0"]) + s.add_dependency(%q<hoe>.freeze, ["~> 3.17"]) end else s.add_dependency(%q<mime-types-data>.freeze, ["~> 3.2015"]) - s.add_dependency(%q<minitest>.freeze, ["~> 5.9"]) - s.add_dependency(%q<rdoc>.freeze, ["~> 4.0"]) + s.add_dependency(%q<minitest>.freeze, ["~> 5.11"]) s.add_dependency(%q<hoe-doofus>.freeze, ["~> 1.0"]) s.add_dependency(%q<hoe-gemspec2>.freeze, ["~> 1.1"]) s.add_dependency(%q<hoe-git>.freeze, ["~> 1.6"]) @@ -77,6 +76,7 @@ Gem::Specification.new do |s| s.add_dependency(%q<fivemat>.freeze, ["~> 1.3"]) s.add_dependency(%q<minitest-rg>.freeze, ["~> 5.2"]) s.add_dependency(%q<simplecov>.freeze, ["~> 0.7"]) - s.add_dependency(%q<hoe>.freeze, ["~> 3.15"]) + s.add_dependency(%q<rdoc>.freeze, ["< 6", ">= 4.0"]) + s.add_dependency(%q<hoe>.freeze, ["~> 3.17"]) end end diff --git a/support/benchmarks/load.rb b/support/benchmarks/load.rb index 766da34..b222987 100644 --- a/support/benchmarks/load.rb +++ b/support/benchmarks/load.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'benchmark' diff --git a/support/benchmarks/load_allocations.rb b/support/benchmarks/load_allocations.rb index 82ebfbb..3c93aaf 100644 --- a/support/benchmarks/load_allocations.rb +++ b/support/benchmarks/load_allocations.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- if RUBY_VERSION < '2.1' diff --git a/support/benchmarks/object_counts.rb b/support/benchmarks/object_counts.rb index 88cf9ab..2f7569b 100644 --- a/support/benchmarks/object_counts.rb +++ b/support/benchmarks/object_counts.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- module Benchmarks diff --git a/support/profile/columnar.rb b/support/profile/columnar.rb index baf4bae..0db23d1 100644 --- a/support/profile/columnar.rb +++ b/support/profile/columnar.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + loader = MIME::Types::Loader.new 50.times do diff --git a/support/profile/columnar_full.rb b/support/profile/columnar_full.rb index ec8b918..fb9ad48 100644 --- a/support/profile/columnar_full.rb +++ b/support/profile/columnar_full.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + loader = MIME::Types::Loader.new 50.times do diff --git a/support/profile/full.rb b/support/profile/full.rb index 8c1869d..33db812 100644 --- a/support/profile/full.rb +++ b/support/profile/full.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + loader = MIME::Types::Loader.new 50.times do diff --git a/test/minitest_helper.rb b/test/minitest_helper.rb index 3690403..40b1ef8 100644 --- a/test/minitest_helper.rb +++ b/test/minitest_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/type' diff --git a/test/test_mime_type.rb b/test/test_mime_type.rb index 6661725..65a23b0 100644 --- a/test/test_mime_type.rb +++ b/test/test_mime_type.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' diff --git a/test/test_mime_types.rb b/test/test_mime_types.rb index caadc37..4ebb29d 100644 --- a/test/test_mime_types.rb +++ b/test/test_mime_types.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' diff --git a/test/test_mime_types_cache.rb b/test/test_mime_types_cache.rb index daa8214..7bbb894 100644 --- a/test/test_mime_types_cache.rb +++ b/test/test_mime_types_cache.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' diff --git a/test/test_mime_types_class.rb b/test/test_mime_types_class.rb index 3ba4653..63c310d 100644 --- a/test/test_mime_types_class.rb +++ b/test/test_mime_types_class.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' diff --git a/test/test_mime_types_lazy.rb b/test/test_mime_types_lazy.rb index 3a3263e..75e8dc7 100644 --- a/test/test_mime_types_lazy.rb +++ b/test/test_mime_types_lazy.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' diff --git a/test/test_mime_types_loader.rb b/test/test_mime_types_loader.rb index d78df11..2515f81 100644 --- a/test/test_mime_types_loader.rb +++ b/test/test_mime_types_loader.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # -*- ruby encoding: utf-8 -*- require 'mime/types' |