summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDillon Welch <daw0328@gmail.com>2018-08-10 15:37:42 -0700
committerAustin Ziegler <austin@zieglers.ca>2018-08-11 23:22:09 -0400
commit650e741cf52de40aae97a78ea21d7153d90e0a2c (patch)
tree64f8cfc4d0827c0ea68adddb83e405bf90bbabec
parent04835d383336c5db3cc4305e5f2e88a1588dacf6 (diff)
downloadmime-types-650e741cf52de40aae97a78ea21d7153d90e0a2c.tar.gz
Hardcode common argument results to prevent dup string allocations
-rw-r--r--Rakefile2
-rw-r--r--lib/mime-types.rb2
-rw-r--r--lib/mime/type.rb8
-rw-r--r--lib/mime/type/columnar.rb2
-rw-r--r--lib/mime/types.rb2
-rw-r--r--lib/mime/types/_columnar.rb2
-rw-r--r--lib/mime/types/cache.rb2
-rw-r--r--lib/mime/types/columnar.rb2
-rw-r--r--lib/mime/types/container.rb2
-rw-r--r--lib/mime/types/deprecations.rb2
-rw-r--r--lib/mime/types/full.rb2
-rw-r--r--lib/mime/types/loader.rb2
-rw-r--r--lib/mime/types/logger.rb2
-rw-r--r--lib/mime/types/registry.rb2
-rw-r--r--mime-types.gemspec22
-rw-r--r--support/benchmarks/load.rb2
-rw-r--r--support/benchmarks/load_allocations.rb2
-rw-r--r--support/benchmarks/object_counts.rb2
-rw-r--r--support/profile/columnar.rb2
-rw-r--r--support/profile/columnar_full.rb2
-rw-r--r--support/profile/full.rb2
-rw-r--r--test/minitest_helper.rb2
-rw-r--r--test/test_mime_type.rb2
-rw-r--r--test/test_mime_types.rb2
-rw-r--r--test/test_mime_types_cache.rb2
-rw-r--r--test/test_mime_types_class.rb2
-rw-r--r--test/test_mime_types_lazy.rb2
-rw-r--r--test/test_mime_types_loader.rb2
28 files changed, 70 insertions, 12 deletions
diff --git a/Rakefile b/Rakefile
index 4e249bf..47326e1 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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'