delonnewman/dragnet

View on GitHub
app/generators/ahoy/event_generator.rb

Summary

Maintainability
A
0 mins
Test Coverage

Assignment Branch Condition size for call is too high. [<7, 21, 6> 22.93/17]
Open

    def call(*)
      visit     = attributes.fetch(:visit)     { raise 'A visit attribute is required' }
      survey_id = attributes.fetch(:survey_id) { raise 'A survey_id attribute is required' }
      reply_id  = attributes.fetch(:reply_id)  { raise 'A reply_id attribute is required' }

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`, referenced 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 AllowedMethods (defaults to []) And AllowedPatterns (defaults to [])

There are no issues that match your filters.

Category
Status