wahanegi/vibereport

View on GitHub
app/reports/emotion_index.rb

Summary

Maintainability
A
0 mins
Test Coverage

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

  def generate
    return ['No emotion index present.', nil] if receive_responses.empty?

    positive_ratings_sum = positive_emotions(receive_responses)
    negative_ratings_sum = negative_emotions(receive_responses)
Severity: Minor
Found in app/reports/emotion_index.rb by rubocop

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

You can set literals you want to fold with CountAsOne. Available are: 'array', 'hash', and 'heredoc'. Each literal will be counted as one line regardless of its actual size.

NOTE: The ExcludedMethods configuration is deprecated and only kept for backwards compatibility. Please use IgnoredMethods instead.

Example: CountAsOne: ['array', 'heredoc']

def m
  array = [       # +1
    1,
    2
  ]

  hash = {        # +3
    key: 'value'
  }

  <<~HEREDOC      # +1
    Heredoc
    content.
  HEREDOC
end               # 5 points

Assignment Branch Condition size for generate is too high. [<6, 16, 1> 17.12/17]
Wontfix

  def generate
    return ['No emotion index present.', nil] if receive_responses.empty?

    positive_ratings_sum = positive_emotions(receive_responses)
    negative_ratings_sum = negative_emotions(receive_responses)
Severity: Minor
Found in app/reports/emotion_index.rb by rubocop

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 and https://en.wikipedia.org/wiki/ABC_Software_Metric.

Interpreting ABC size:

  • <= 17 satisfactory
  • 18..30 unsatisfactory
  • > 30 dangerous

You can have repeated "attributes" calls count as a single "branch". For this purpose, attributes are any method with no argument; no attempt is meant to distinguish actual attr_reader from other methods.

Example: CountRepeatedAttributes: false (default is true)

# `model` and `current_user`, refenced 3 times each,
 # are each counted as only 1 branch each if
 # `CountRepeatedAttributes` is set to 'false'

 def search
   @posts = model.active.visible_by(current_user)
             .search(params[:q])
   @posts = model.some_process(@posts, current_user)
   @posts = model.another_process(@posts, current_user)

   render 'pages/search/page'
 end

This cop also takes into account IgnoredMethods (defaults to [])

There are no issues that match your filters.

Category
Status