diff options
author | Austin Ziegler <austin@zieglers.ca> | 2021-06-02 10:42:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 10:42:23 -0400 |
commit | 6c8324d2396e7698296bbecf376a4a647b258057 (patch) | |
tree | 8310377885377e1f44526f69c8588c759b3aa215 /lib/mime/types/container.rb | |
parent | b8db65ac00b8f23d4274ed47aada475a65cc24d0 (diff) | |
download | mime-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.rb | 26 |
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 |