wahanegi/vibereport

View on GitHub
app/helpers/active_admin_helpers.rb

Summary

Maintainability
A
0 mins
Test Coverage

Method has too many lines. [28/10]
Invalid

  def self.time_period_vars(
    team: nil,
    time_period: nil,
    previous_time_period: nil,
    current_period: nil
Severity: Minor
Found in app/helpers/active_admin_helpers.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

Method time_period_vars has 28 lines of code (exceeds 25 allowed). Consider refactoring.
Wontfix

  def self.time_period_vars(
    team: nil,
    time_period: nil,
    previous_time_period: nil,
    current_period: nil
Severity: Minor
Found in app/helpers/active_admin_helpers.rb - About 1 hr to fix

    Assignment Branch Condition size for time_period_vars is too high. [<25, 71, 2> 75.3/17]
    Invalid

      def self.time_period_vars(
        team: nil,
        time_period: nil,
        previous_time_period: nil,
        current_period: nil
    Severity: Minor
    Found in app/helpers/active_admin_helpers.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