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