thoughtbot/paperclip

View on GitHub
lib/paperclip/style.rb

Summary

Maintainability
A
0 mins
Test Coverage

Assignment Branch Condition size for initialize is too high. [19.65/15]
Open

    def initialize name, definition, attachment
      @name = name
      @attachment = attachment
      if definition.is_a? Hash
        @geometry = definition.delete(:geometry)
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Line is too long. [93/80]
Open

    # Supplies the hash of options that processors expect to receive as their second argument
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Use def with parentheses when there are parameters.
Open

    def initialize name, definition, attachment
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cops checks for parentheses around the arguments in method definitions. Both instance and class/singleton methods are checked.

Example: EnforcedStyle: require_parentheses (default)

# The `require_parentheses` style requires method definitions
# to always use parentheses

# bad
def bar num1, num2
  num1 + num2
end

def foo descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name
  do_something
end

# good
def bar(num1, num2)
  num1 + num2
end

def foo(descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name)
  do_something
end

Example: EnforcedStyle: requirenoparentheses

# The `require_no_parentheses` style requires method definitions
# to never use parentheses

# bad
def bar(num1, num2)
  num1 + num2
end

def foo(descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name)
  do_something
end

# good
def bar num1, num2
  num1 + num2
end

def foo descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name
  do_something
end

Example: EnforcedStyle: requirenoparenthesesexceptmultiline

# The `require_no_parentheses_except_multiline` style prefers no
# parantheses when method definition arguments fit on single line,
# but prefers parantheses when arguments span multiple lines.

# bad
def bar(num1, num2)
  num1 + num2
end

def foo descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name
  do_something
end

# good
def bar num1, num2
  num1 + num2
end

def foo(descriptive_var_name,
        another_descriptive_var_name,
        last_descriptive_var_name)
  do_something
end

Extra empty line detected at class body end.
Open


  end
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cops checks if empty lines around the bodies of classes match the configuration.

Example: EnforcedStyle: empty_lines

# good

class Foo

  def bar
    # ...
  end

end

Example: EnforcedStyle: emptylinesexcept_namespace

# good

class Foo
  class Bar

    # ...

  end
end

Example: EnforcedStyle: emptylinesspecial

# good
class Foo

  def bar; end

end

Example: EnforcedStyle: noemptylines (default)

# good

class Foo
  def bar
    # ...
  end
end

Space missing after comma.
Open

      @other_args.each do |k,v|
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Checks for comma (,) not followed by some kind of space.

Example:

# bad
[1,2]
{ foo:bar,}

# good
[1, 2]
{ foo:bar, }

Line is too long. [88/80]
Open

    # retrieves from the attachment the processors defined in the has_attached_file call
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [87/80]
Open

        (@source_file_options || attachment.send(:extra_source_file_options_for, name))
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [104/80]
Open

    # Supports getting and setting style properties with hash notation to ensure backwards-compatibility
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Use the new Ruby 1.9 hash syntax.
Open

      args = {:style => name}
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cop checks hash literal syntax.

It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

A separate offense is registered for each problematic pair.

The supported styles are:

  • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
  • hash_rockets - forces use of hash rockets for all hashes
  • nomixedkeys - simply checks for hashes with mixed syntaxes
  • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

Example: EnforcedStyle: ruby19 (default)

# bad
{:a => 2}
{b: 1, :c => 2}

# good
{a: 2, b: 1}
{:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
{d: 1, 'e' => 2} # technically not forbidden

Example: EnforcedStyle: hash_rockets

# bad
{a: 1, b: 2}
{c: 1, 'd' => 5}

# good
{:a => 1, :b => 2}

Example: EnforcedStyle: nomixedkeys

# bad
{:a => 1, b: 2}
{c: 1, 'd' => 2}

# good
{:a => 1, :b => 2}
{c: 1, d: 2}

Example: EnforcedStyle: ruby19nomixed_keys

# bad
{:a => 1, :b => 2}
{c: 2, 'd' => 3} # should just use hash rockets

# good
{a: 1, b: 2}
{:c => 3, 'd' => 4}

Avoid multi-line ternary operators, use if or unless instead.
Open

      @source_file_options.respond_to?(:call) ? @source_file_options.call(attachment.instance) :
        (@source_file_options || attachment.send(:extra_source_file_options_for, name))
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cop checks for multi-line ternary op expressions.

Example:

# bad
a = cond ?
  b : c
a = cond ? b :
    c
a = cond ?
    b :
    c

# good
a = cond ? b : c
a =
  if cond
    b
  else
    c
  end

Line is too long. [96/80]
Open

      @source_file_options.respond_to?(:call) ? @source_file_options.call(attachment.instance) :
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [88/80]
Open

      @convert_options.respond_to?(:call) ? @convert_options.call(attachment.instance) :
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [89/80]
Open

    # Arguments other than the standard geometry, format etc are just passed through from
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Extra empty line detected at class body beginning.
Open


    attr_reader :name, :attachment, :format
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cops checks if empty lines around the bodies of classes match the configuration.

Example: EnforcedStyle: empty_lines

# good

class Foo

  def bar
    # ...
  end

end

Example: EnforcedStyle: emptylinesexcept_namespace

# good

class Foo
  class Bar

    # ...

  end
end

Example: EnforcedStyle: emptylinesspecial

# good
class Foo

  def bar; end

end

Example: EnforcedStyle: noemptylines (default)

# good

class Foo
  def bar
    # ...
  end
end

Line is too long. [122/80]
Open

      if [:name, :convert_options, :whiny, :processors, :geometry, :format, :animated, :source_file_options].include?(key)
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Space inside } missing.
Open

      args = {:style => name}
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

Example: EnforcedStyle: space

# The `space` style enforces that hash literals have
# surrounding space.

# bad
h = {a: 1, b: 2}

# good
h = { a: 1, b: 2 }

Example: EnforcedStyle: no_space

# The `no_space` style enforces that hash literals have
# no surrounding space.

# bad
h = { a: 1, b: 2 }

# good
h = {a: 1, b: 2}

Example: EnforcedStyle: compact

# The `compact` style normally requires a space inside
# hash braces, with the exception that successive left
# braces or right braces are collapsed together in nested hashes.

# bad
h = { a: { b: 2 } }

# good
h = { a: { b: 2 }}

Space inside { missing.
Open

      args = {:style => name}
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

Example: EnforcedStyle: space

# The `space` style enforces that hash literals have
# surrounding space.

# bad
h = {a: 1, b: 2}

# good
h = { a: 1, b: 2 }

Example: EnforcedStyle: no_space

# The `no_space` style enforces that hash literals have
# no surrounding space.

# bad
h = { a: 1, b: 2 }

# good
h = {a: 1, b: 2}

Example: EnforcedStyle: compact

# The `compact` style normally requires a space inside
# hash braces, with the exception that successive left
# braces or right braces are collapsed together in nested hashes.

# bad
h = { a: { b: 2 } }

# good
h = { a: { b: 2 }}

Line is too long. [117/80]
Open

      @processors.respond_to?(:call) ? @processors.call(attachment.instance) : (@processors || attachment.processors)
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [99/80]
Open

      [:processors, :geometry, :format, :whiny, :convert_options, :source_file_options].each do |k|
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [122/80]
Open

      if [:name, :convert_options, :whiny, :processors, :geometry, :format, :animated, :source_file_options].include?(key)
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Avoid multi-line ternary operators, use if or unless instead.
Open

      @convert_options.respond_to?(:call) ? @convert_options.call(attachment.instance) :
        (@convert_options || attachment.send(:extra_options_for, name))
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

This cop checks for multi-line ternary op expressions.

Example:

# bad
a = cond ?
  b : c
a = cond ? b :
    c
a = cond ?
    b :
    c

# good
a = cond ? b : c
a =
  if cond
    b
  else
    c
  end

Line is too long. [93/80]
Open

    # There is an important change of interface here: a style rule can set its own processors
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

Line is too long. [84/80]
Open

      @geometry.respond_to?(:call) ? @geometry.call(attachment.instance) : @geometry
Severity: Minor
Found in lib/paperclip/style.rb by rubocop

There are no issues that match your filters.

Category
Status