alexpeattie/nitlink

View on GitHub

Showing 119 of 119 total issues

Add an empty line after magic comments.
Open

lib = File.expand_path('../lib', __FILE__)
Severity: Minor
Found in nitlink.gemspec by rubocop

Checks for a newline after the final magic comment.

Example:

# good
# frozen_string_literal: true

# Some documentation for Person
class Person
  # Some code
end

# bad
# frozen_string_literal: true
# Some documentation for Person
class Person
  # Some code
end

Line is too long. [101/80]
Open

  spec.description   = 'Nitlink is a nice, nitpicky gem for parsing Link headers, which aims to stick
Severity: Minor
Found in nitlink.gemspec by rubocop

Line is too long. [109/80]
Open

        next if %(media title title* type).include?(param_name) && first_match(target_attributes, param_name)
Severity: Minor
Found in lib/nitlink/parser.rb by rubocop

Line is too long. [158/80]
Open

      EncodedParamSyntaxError.new(%Q{Syntax error decoding encoded parameter value "#{ val }", must be in the form: charset "'" [ language ] "'" value-chars})
Severity: Minor
Found in lib/nitlink/param_decoder.rb by rubocop

Missing top-level class documentation comment.
Open

  class ParamDecoder
Severity: Minor
Found in lib/nitlink/param_decoder.rb by rubocop

This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

Example:

# bad
class Person
  # ...
end

# good
# Description/Explanation of Person class
class Person
  # ...
end

Trailing whitespace detected.
Open

      split_positions, ignored_split_positions = [0], [] 
Severity: Minor
Found in lib/nitlink/splitter.rb by rubocop

Indent when as deep as case.
Open

      when 'HTTP::Message'
Severity: Minor
Found in lib/nitlink/response_normalizer.rb by rubocop

This cop checks how the whens of a case expression are indented in relation to its case or end keyword.

It will register a separate offense for each misaligned when.

Example:

# If Layout/EndAlignment is set to keyword style (default)
# *case* and *end* should always be aligned to same depth,
# and therefore *when* should always be aligned to both -
# regardless of configuration.

# bad for all styles
case n
  when 0
    x * 2
  else
    y / 3
end

# good for all styles
case n
when 0
  x * 2
else
  y / 3
end

Example: EnforcedStyle: case (default)

# if EndAlignment is set to other style such as
# start_of_line (as shown below), then *when* alignment
# configuration does have an effect.

# bad
a = case n
when 0
  x * 2
else
  y / 3
end

# good
a = case n
    when 0
      x * 2
    else
      y / 3
end

Example: EnforcedStyle: end

# bad
a = case n
    when 0
      x * 2
    else
      y / 3
end

# good
a = case n
when 0
  x * 2
else
  y / 3
end

Indent when as deep as case.
Open

      when 'Hash'
Severity: Minor
Found in lib/nitlink/response_normalizer.rb by rubocop

This cop checks how the whens of a case expression are indented in relation to its case or end keyword.

It will register a separate offense for each misaligned when.

Example:

# If Layout/EndAlignment is set to keyword style (default)
# *case* and *end* should always be aligned to same depth,
# and therefore *when* should always be aligned to both -
# regardless of configuration.

# bad for all styles
case n
  when 0
    x * 2
  else
    y / 3
end

# good for all styles
case n
when 0
  x * 2
else
  y / 3
end

Example: EnforcedStyle: case (default)

# if EndAlignment is set to other style such as
# start_of_line (as shown below), then *when* alignment
# configuration does have an effect.

# bad
a = case n
when 0
  x * 2
else
  y / 3
end

# good
a = case n
    when 0
      x * 2
    else
      y / 3
end

Example: EnforcedStyle: end

# bad
a = case n
    when 0
      x * 2
    else
      y / 3
end

# good
a = case n
when 0
  x * 2
else
  y / 3
end

Use a guard clause instead of wrapping the code inside a conditional expression.
Open

        if defined?(Net::HTTPResponse) && Net::HTTPResponse === response
Severity: Minor
Found in lib/nitlink/response_normalizer.rb by rubocop

Use a guard clause instead of wrapping the code inside a conditional expression

Example:

# bad
def test
  if something
    work
  end
end

# good
def test
  return unless something
  work
end

# also good
def test
  work if something
end

# bad
if something
  raise 'exception'
else
  ok
end

# good
raise 'exception' if something
ok

Line is too long. [245/80]
Open

third_party_clients = ['Curl::Easy', 'Excon::Response', 'Faraday::Response', 'HTTP::Message', 'HTTP::Response', 'HTTParty::Response', 'Net::HTTPResponse', 'Patron::Response', 'RestClient::Response', 'Typhoeus::Response', 'Unirest::HttpResponse']
Severity: Minor
Found in lib/nitlink/response.rb by rubocop

Missing top-level module documentation comment.
Open

  module ResponseDecorator
Severity: Minor
Found in lib/nitlink/response.rb by rubocop

This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

Example:

# bad
class Person
  # ...
end

# good
# Description/Explanation of Person class
class Person
  # ...
end

Use alias instead of alias_method in a class body.
Open

    alias_method :to_hash, :to_h
Severity: Minor
Found in lib/nitlink/link_collection.rb by rubocop

This cop enforces the use of either #alias or #alias_method depending on configuration. It also flags uses of alias :symbol rather than alias bareword.

Example: EnforcedStyle: prefer_alias (default)

# bad
alias_method :bar, :foo
alias :bar :foo

# good
alias bar foo

Example: EnforcedStyle: preferaliasmethod

# bad
alias :bar :foo
alias bar foo

# good
alias_method :bar, :foo

Missing top-level class documentation comment.
Open

  class LinkCollection < Array
Severity: Minor
Found in lib/nitlink/link_collection.rb by rubocop

This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

Example:

# bad
class Person
  # ...
end

# good
# Description/Explanation of Person class
class Person
  # ...
end

Use && instead of and.
Open

        @scanner.skip_until(/>/) and next if char == '<' && in_url?
Severity: Minor
Found in lib/nitlink/splitter.rb by rubocop

This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

Example: EnforcedStyle: always (default)

# bad
foo.save and return

# bad
if foo and bar
end

# good
foo.save && return

# good
if foo && bar
end

Example: EnforcedStyle: conditionals

# bad
if foo and bar
end

# good
foo.save && return

# good
foo.save and return

# good
if foo && bar
end

Line is too long. [95/80]
Open

        uri = URI::HTTP.new(scheme, nil, response.host, nil, nil, response.path, nil, nil, nil)
Severity: Minor
Found in lib/nitlink/response_normalizer.rb by rubocop

Final newline missing.
Open

end
Severity: Minor
Found in lib/nitlink/exceptions.rb by rubocop

Final newline missing.
Open

end
Severity: Minor
Found in lib/nitlink/response.rb by rubocop

Line is too long. [103/80]
Open

  Object.const_get(module_name).const_get(class_name).class_eval { include Nitlink::ResponseDecorator }
Severity: Minor
Found in lib/nitlink/response.rb by rubocop

Line is too long. [106/80]
Open

      target, relation_types, context, target_attributes = link_attributes(target_string, link_parameters)
Severity: Minor
Found in lib/nitlink/parser.rb by rubocop

Line is too long. [101/80]
Open

      indifferent = options.key?(:with_indifferent_access) ? options[:with_indifferent_access] : true
Severity: Minor
Found in lib/nitlink/link_collection.rb by rubocop
Severity
Category
Status
Source
Language