dry-rb/dry-struct

View on GitHub
lib/dry/struct/sum.rb

Summary

Maintainability
A
0 mins
Test Coverage
B
81%

When defining the === operator, name its argument other.
Open

      def ===(value)
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop makes sure that certain binary operator methods have their sole parameter named other.

Example:

# bad
def +(amount); end

# good
def +(other); end

Missing magic comment # frozen_string_literal: true.
Open

require 'dry/types/sum'
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop is designed to help upgrade to Ruby 3.0. It will add the comment # frozen_string_literal: true to the top of files to enable frozen string literals. Frozen string literals may be default in Ruby 3.0. The comment will be added below a shebang and encoding comment. The frozen string literal comment is only valid in Ruby 2.3+.

Example: EnforcedStyle: when_needed (default)

# The `when_needed` style will add the frozen string literal comment
# to files only when the `TargetRubyVersion` is set to 2.3+.
# bad
module Foo
  # ...
end

# good
# frozen_string_literal: true

module Foo
  # ...
end

Example: EnforcedStyle: always

# The `always` style will always add the frozen string literal comment
# to a file, regardless of the Ruby version or if `freeze` or `<

Example: EnforcedStyle: never

# The `never` will enforce that the frozen string literal comment does
# not exist in a file.
# bad
# frozen_string_literal: true

module Baz
  # ...
end

# good
module Baz
  # ...
end

Avoid the use of the case equality operator ===.
Open

        left === value || right === value
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop checks for uses of the case equality operator(===).

Example:

# bad
Array === something
(1..100) === 7
/something/ === some_string

# good
something.is_a?(Array)
(1..100).include?(7)
some_string =~ /something/

Use empty lines between method definitions.
Open

      def try(input)
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop checks whether method definitions are separated by one empty line.

NumberOfEmptyLines can be and integer (e.g. 1 by default) or an array (e.g. [1, 2]) to specificy a minimum and a maximum of empty lines.

AllowAdjacentOneLineDefs can be used to configure is adjacent one line methods definitions are an offense

Example:

# bad
def a
end
def b
end

Example:

# good
def a
end

def b
end

When defining the | operator, name its argument other.
Open

      def |(type)
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop makes sure that certain binary operator methods have their sole parameter named other.

Example:

# bad
def +(amount); end

# good
def +(other); end

Avoid the use of the case equality operator ===.
Open

        left === value || right === value
Severity: Minor
Found in lib/dry/struct/sum.rb by rubocop

This cop checks for uses of the case equality operator(===).

Example:

# bad
Array === something
(1..100) === 7
/something/ === some_string

# good
something.is_a?(Array)
(1..100).include?(7)
some_string =~ /something/

There are no issues that match your filters.

Category
Status