thoughtbot/paperclip

View on GitHub

Showing 1,009 of 1,009 total issues

Prefer each over for.
Open

        for path in @queued_for_delete do
Severity: Minor
Found in lib/paperclip/storage/fog.rb by rubocop

This cop looks for uses of the for keyword, or each method. The preferred alternative is set in the EnforcedStyle configuration parameter. An each call with a block on a single line is always allowed, however.

Use the new Ruby 1.9 hash syntax.
Open

              :key          => path(style),
Severity: Minor
Found in lib/paperclip/storage/fog.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}

Redundant return detected.
Open

        return expiring_url
Severity: Minor
Found in lib/paperclip/storage/fog.rb by rubocop

This cop checks for redundant return expressions.

Example:

def test
  return something
end

def test
  one
  two
  three
  return something
end

It should be extended to handle methods whose body is if/else or a case expression with a default branch.

Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Open

        delimiter_char = url.match(/\?.+=/) ? '&' : '?'
Severity: Minor
Found in lib/paperclip/url_generator.rb by rubocop

Checks if uses of quotes match the configured preference.

Example: EnforcedStyle: single_quotes (default)

# bad
"No special symbols"
"No string interpolation"
"Just text"

# good
'No special symbols'
'No string interpolation'
'Just text'
"Wait! What's #{this}!"

Example: EnforcedStyle: double_quotes

# bad
'Just some text'
'No special chars or interpolation'

# good
"Just some text"
"No special chars or interpolation"
"Every string in #{project} uses double_quotes"

Line is too long. [83/80]
Open

          raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"
Severity: Minor
Found in lib/paperclip/tempfile.rb by rubocop

Line is too long. [92/80]
Open

        storage_class = {:default => storage_class} unless storage_class.respond_to?(:merge)
Severity: Minor
Found in lib/paperclip/storage/s3.rb by rubocop

Line is too long. [82/80]
Open

            write_options.merge!(:storage_class => storage_class) if storage_class
Severity: Minor
Found in lib/paperclip/storage/s3.rb by rubocop

Use write_options[:storage_class] = storage_class instead of write_options.merge!(:storage_class => storage_class).
Open

            write_options.merge!(:storage_class => storage_class) if storage_class
Severity: Minor
Found in lib/paperclip/storage/s3.rb by rubocop

This cop identifies places where Hash#merge! can be replaced by Hash#[]=.

Example:

hash.merge!(a: 1)
hash.merge!({'key' => 'value'})
hash.merge!(a: 1, b: 2)

Use def with parentheses when there are parameters.
Open

      def s3_object style_name = default_style
Severity: Minor
Found in lib/paperclip/storage/s3.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

Line is too long. [88/80]
Open

            s3_headers[name.to_s.downcase.sub(/\Ax-amz-/,'').tr("-","_").to_sym] = value
Severity: Minor
Found in lib/paperclip/storage/s3.rb by rubocop

Space after keyword while is missing.
Open

            while(true)
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Checks the spacing around the keywords.

Example:

# bad
something 'test'do|x|
end

while(something)
end

something = 123if test

# good
something 'test' do |x|
end

while (something)
end

something = 123 if test

Space inside parentheses detected.
Open

            FileUtils.chmod( resolved_chmod, path(style_name) )
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Checks for spaces inside ordinary round parentheses.

Example:

# bad
f( 3)
g = (a + 3 )

# good
f(3)
g = (a + 3)

Line is too long. [86/80]
Open

    #   almost all cases, should) be coordinated with the value of the +url+ option to
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Space inside parentheses detected.
Open

            FileUtils.chmod( resolved_chmod, path(style_name) )
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Checks for spaces inside ordinary round parentheses.

Example:

# bad
f( 3)
g = (a + 3 )

# good
f(3)
g = (a + 3)

Line is too long. [86/80]
Open

    # They also can be processed more easily after they've been saved, as they're just
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Line is too long. [101/80]
Open

    #   you to use paperclip on filesystems that don't understand unix file permissions, and has the 
Severity: Minor
Found in lib/paperclip/storage/filesystem.rb by rubocop

Line is too long. [82/80]
Open

            raise ArgumentError, "Credentials are not a path, file, hash or proc."
Severity: Minor
Found in lib/paperclip/storage/fog.rb by rubocop

Space inside parentheses detected.
Open

        ratio = Geometry.new( dst.width / self.width, dst.height / self.height )
Severity: Minor
Found in lib/paperclip/geometry.rb by rubocop

Checks for spaces inside ordinary round parentheses.

Example:

# bad
f( 3)
g = (a + 3 )

# good
f(3)
g = (a + 3)

Line is too long. [85/80]
Open

    # neccessary to transform this Geometry into the Geometry given. If crop is true,
Severity: Minor
Found in lib/paperclip/geometry.rb by rubocop

Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.
Open

            @options[:path]  = @options[:path].gsub(/:url/, @options[:url]).gsub(/\A:rails_root\/public\/system\//, '')
Severity: Minor
Found in lib/paperclip/storage/fog.rb by rubocop

Checks if uses of quotes match the configured preference.

Example: EnforcedStyle: single_quotes (default)

# bad
"No special symbols"
"No string interpolation"
"Just text"

# good
'No special symbols'
'No string interpolation'
'Just text'
"Wait! What's #{this}!"

Example: EnforcedStyle: double_quotes

# bad
'Just some text'
'No special chars or interpolation'

# good
"Just some text"
"No special chars or interpolation"
"Every string in #{project} uses double_quotes"
Severity
Category
Status
Source
Language