class RuboCop::Cop::SketchupSuggestions::ModelEntities

Prefer `model.active_entities` over `model.entities`.

Most tools/actions act upon the active entities context. This could be an opened group or component instance. Because of this, prefer `model.active_entities` by default over `model.entities` unless you have an explicit reason to work in the root model context.

Constants

MODEL_VARIABLE_NAMES
MSG

Public Instance Methods

model_entities?(node) click to toggle source
# File lib/rubocop/sketchup/cop/suggestions/model_entities.rb, line 29
def model_entities?(node)
  return true if active_model_entities?(node)

  name = entities_receiver(node)
  name && model_variable?(name)
end
on_send(node) click to toggle source
# File lib/rubocop/sketchup/cop/suggestions/model_entities.rb, line 36
def on_send(node)
  add_offense(node, location: :expression) if model_entities?(node)
end

Private Instance Methods

model_variable?(name) click to toggle source
# File lib/rubocop/sketchup/cop/suggestions/model_entities.rb, line 42
def model_variable?(name)
  basename = variable_basename(name)
  MODEL_VARIABLE_NAMES.include?(basename)
end
variable_basename(name) click to toggle source
# File lib/rubocop/sketchup/cop/suggestions/model_entities.rb, line 47
def variable_basename(name)
  # Extract the basename from variables:
  #  model => model
  #  @model => model
  #  @@model => model
  name.to_s.tr('@', '')
end