summaryrefslogtreecommitdiff
path: root/lib/mime/types/container.rb
diff options
context:
space:
mode:
authorAustin Ziegler <austin@zieglers.ca>2021-06-02 10:42:23 -0400
committerGitHub <noreply@github.com>2021-06-02 10:42:23 -0400
commit6c8324d2396e7698296bbecf376a4a647b258057 (patch)
tree8310377885377e1f44526f69c8588c759b3aa215 /lib/mime/types/container.rb
parentb8db65ac00b8f23d4274ed47aada475a65cc24d0 (diff)
downloadmime-types-6c8324d2396e7698296bbecf376a4a647b258057.tar.gz
Convert to standardrb (#156)
- I mostly don’t care about this, but there are a couple of things that Standard does that I disagree with. They are inherited from Rubocop, but Standard fixes many of Rubocop’s nonsense rules. - Array literal wrappers %i[], %w[], etc. are just ugly and never should have become any sort of standard. I would be happier if this part of standard were just completely disabled, because it‘s unnecessary and wrong. - Quote literals having to be %q() is equally wrong. I’ve avoided the issue here because the generated gemspec uses both "unnecessary" quote literals (it’s necessary if I say it’s necessary) and the wrong wrappers (I wouldn’t use %q<>, but this is generated code). - I still think that short hashes can be `{ foo: "bar" }`, but I’m mostly using Elixir these days, so I don’t mind `%{foo: "bar"}`, so I can get used to it in Ruby. It still feels wrong, almost 20 years in. - There are semantic differences between and / &&, or / ||, but in some cases the reformatted code is substantially _worse_ to read. Again, I mostly don’t _care_ about this difference, but Rubocop’s insistence is silly; these should only be replaced where there _is_ ambiguity. - Replacing `x = foo or next` should never be replaced with `(x = foo) || next`. That’s replacing something that is somewhat readable with something damned-near unreadable. Both should be replaced with: ```ruby x = foo next unless x ``` - YAML.safe_load works differently between Psych 2.x and Psych 3.x, so some updates have been made to make that work cleanly. Overall, this introduces a lot of churn, but I think will be easier to deal with updates to `standardrb` instead of the rapid churn that has been Rubocop.
Diffstat (limited to 'lib/mime/types/container.rb')
-rw-r--r--lib/mime/types/container.rb26
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/mime/types/container.rb b/lib/mime/types/container.rb
index 0f08622..094682b 100644
--- a/lib/mime/types/container.rb
+++ b/lib/mime/types/container.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
-require 'set'
-require 'forwardable'
+require "set"
+require "forwardable"
# MIME::Types requires a serializable keyed container that returns an empty Set
# on a key miss. Hash#default_value cannot be used because, while it traverses
@@ -37,7 +37,7 @@ class MIME::Types::Container #:nodoc:
def merge!(other)
tap {
- other = other.kind_of?(MIME::Types::Container) ? other.container : other
+ other = other.is_a?(MIME::Types::Container) ? other.container : other
container.merge!(other)
normalize
}
@@ -48,15 +48,15 @@ class MIME::Types::Container #:nodoc:
end
def_delegators :@container,
- :==,
- :count,
- :each,
- :each_value,
- :empty?,
- :flat_map,
- :keys,
- :select,
- :values
+ :==,
+ :count,
+ :each,
+ :each_value,
+ :empty?,
+ :flat_map,
+ :keys,
+ :select,
+ :values
def add(key, value)
(container[key] ||= Set.new).add(value)
@@ -85,7 +85,7 @@ class MIME::Types::Container #:nodoc:
def normalize
container.each do |k, v|
- next if v.kind_of?(Set)
+ next if v.is_a?(Set)
container[k] = Set[*v]
end