18F/e-manifest

View on GitHub
app/models/cdx/profile_request.rb

Summary

Maintainability
A
0 mins
Test Coverage

Method has too many lines. [11/10]
Open

  def lower_camelize(thing)
    if thing.is_a?(Hash)
      lower_camelize_hash(thing)
    elsif thing.is_a?(Array)
      thing.each do |subthing|
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Use each_key instead of keys.each.
Open

    hash.keys.each do |key|
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

This cop checks for uses of each_key and each_value Hash methods.

Note: If you have an array of two-element arrays, you can put parentheses around the block arguments to indicate that you're not working with a hash, and suppress RuboCop offenses.

Example:

# bad
hash.keys.each { |k| p k }
hash.values.each { |v| p v }
hash.each { |k, _v| p k }
hash.each { |_k, v| p v }

# good
hash.each_key { |k| p k }
hash.each_value { |v| p v }

Use nested module/class definitions instead of compact style.
Open

class CDX::ProfileRequest < CDX::LoggedRequest
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

This cop checks the style of children definitions at classes and modules. Basically there are two different styles:

Example: EnforcedStyle: nested (default)

# good
# have each child on its own line
class Foo
  class Bar
  end
end

Example: EnforcedStyle: compact

# good
# combine definitions as much as possible
class Foo::Bar
end

The compact style is only forced for classes/modules with one child.

Line is too long. [91/80]
Open

    CDX::UserProfile.new(opts.merge(security_token: security_token), output_stream).perform
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

Line is too long. [87/80]
Open

    @security_token ||= opts[:security_token] || CDX::System.new(output_stream).perform
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

Missing top-level class documentation comment.
Open

class CDX::ProfileRequest < CDX::LoggedRequest
Severity: Minor
Found in app/models/cdx/profile_request.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

Always use raise to signal exceptions.
Open

      fail "Unsupported object: #{thing.pretty_inspect}"
Severity: Minor
Found in app/models/cdx/profile_request.rb by rubocop

This cop checks for uses of fail and raise.

Example: EnforcedStyle: only_raise (default)

# The `only_raise` style enforces the sole use of `raise`.
# bad
begin
  fail
rescue Exception
  # handle it
end

def watch_out
  fail
rescue Exception
  # handle it
end

Kernel.fail

# good
begin
  raise
rescue Exception
  # handle it
end

def watch_out
  raise
rescue Exception
  # handle it
end

Kernel.raise

Example: EnforcedStyle: only_fail

# The `only_fail` style enforces the sole use of `fail`.
# bad
begin
  raise
rescue Exception
  # handle it
end

def watch_out
  raise
rescue Exception
  # handle it
end

Kernel.raise

# good
begin
  fail
rescue Exception
  # handle it
end

def watch_out
  fail
rescue Exception
  # handle it
end

Kernel.fail

Example: EnforcedStyle: semantic

# The `semantic` style enforces the use of `fail` to signal an
# exception, then will use `raise` to trigger an offense after
# it has been rescued.
# bad
begin
  raise
rescue Exception
  # handle it
end

def watch_out
  # Error thrown
rescue Exception
  fail
end

Kernel.fail
Kernel.raise

# good
begin
  fail
rescue Exception
  # handle it
end

def watch_out
  fail
rescue Exception
  raise 'Preferably with descriptive message'
end

explicit_receiver.fail
explicit_receiver.raise

There are no issues that match your filters.

Category
Status