thoughtbot/paperclip

View on GitHub
lib/paperclip/content_type_detector.rb

Summary

Maintainability
A
0 mins
Test Coverage

Freeze mutable objects assigned to constants.
Open

    EMPTY_TYPE = "inode/x-empty"

This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

Example:

# bad
CONST = [1, 2, 3]

# good
CONST = [1, 2, 3].freeze

Prefer map over collect.
Open

      MIME::Types.type_for(@filepath).collect(&:content_type)

This cop enforces the use of consistent method names from the Enumerable module.

Unfortunately we cannot actually know if a method is from Enumerable or not (static analysis limitation), so this cop can yield some false positives.

Freeze mutable objects assigned to constants.
Open

    SENSIBLE_DEFAULT = "application/octet-stream"

This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

Example:

# bad
CONST = [1, 2, 3]

# good
CONST = [1, 2, 3].freeze

Use File.size(@filepath).zero? instead of File.size(@filepath) == 0.
Open

      File.exist?(@filepath) && File.size(@filepath) == 0

This cop checks for usage of comparison operators (==, >, <) to test numbers as zero, positive, or negative. These can be replaced by their respective predicate methods. The cop can also be configured to do the reverse.

The cop disregards nonzero? as it its value is truthy or falsey, but not true and false, and thus not always interchangeable with != 0.

Example:

# EnforcedStyle: predicate (default)

# bad

foo == 0
0 > foo
bar.baz > 0

# good

foo.zero?
foo.negative?
bar.baz.positive?

Example:

# EnforcedStyle: comparison

# bad

foo.zero?
foo.negative?
bar.baz.positive?

# good

foo == 0
0 > foo
bar.baz > 0

There are no issues that match your filters.

Category
Status