ManageIQ/net_app_manageability

View on GitHub
examples/provision_nas_datastore_via_manageiq.rb

Summary

Maintainability
A
0 mins
Test Coverage

Useless assignment to variable - rv.
Open

rv = netapp_client.nfs_exportfs_modify_rule do

Checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

assigned but unused variable - foo

Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

NOTE: Given the assignment foo = 1, bar = 2, removing unused variables can lead to a syntax error, so this case is not autocorrected.

Safety:

This cop's autocorrection is unsafe because removing assignment from operator assignment can cause NameError if this assignment has been used to declare local variable. For example, replacing a ||= 1 to a || 1 may cause "undefined local variable or method `a' for main:Object (NameError)".

Example:

# bad

def some_method
  some_var = 1
  do_something
end

Example:

# good

def some_method
  some_var = 1
  do_something(some_var)
end

Useless assignment to variable - rv.
Open

rv = netapp_client.volume_create do

Checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

assigned but unused variable - foo

Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

NOTE: Given the assignment foo = 1, bar = 2, removing unused variables can lead to a syntax error, so this case is not autocorrected.

Safety:

This cop's autocorrection is unsafe because removing assignment from operator assignment can cause NameError if this assignment has been used to declare local variable. For example, replacing a ||= 1 to a || 1 may cause "undefined local variable or method `a' for main:Object (NameError)".

Example:

# bad

def some_method
  some_var = 1
  do_something
end

Example:

# good

def some_method
  some_var = 1
  do_something(some_var)
end

Parenthesize the param NetAppManageability::NAMHash.new { name rh } to make sure that the block will be associated with the NetAppManageability::NAMHash.new method call.
Open

      push NetAppManageability::NAMHash.new { name rh }

Checks for ambiguous block association with method when param passed without parentheses.

This cop can customize allowed methods with AllowedMethods. By default, there are no methods to allowed.

Example:

# bad
some_method a { |val| puts val }

Example:

# good
# With parentheses, there's no ambiguity.
some_method(a { |val| puts val })
# or (different meaning)
some_method(a) { |val| puts val }

# good
# Operator methods require no disambiguation
foo == bar { |b| b.baz }

# good
# Lambda arguments require no disambiguation
foo = ->(bar) { bar.baz }

Example: AllowedMethods: [] (default)

# bad
expect { do_something }.to change { object.attribute }

Example: AllowedMethods: [change]

# good
expect { do_something }.to change { object.attribute }

Example: AllowedPatterns: [] (default)

# bad
expect { do_something }.to change { object.attribute }

Example: AllowedPatterns: ['change']

# good
expect { do_something }.to change { object.attribute }
expect { do_something }.to not_change { object.attribute }

There are no issues that match your filters.

Category
Status