module TypeResolving

Constants

CONTROLLER_SUFFIXES
MODELS_CLASS_NAMES
SERVICES_PATH
WORKERS_SUFFIXES

Public Instance Methods

on_class(node) click to toggle source
Calls superclass method
# File lib/ducalis/cops/extensions/type_resolving.rb, line 20
def on_class(node)
  classdef_node, superclass, _body = *node
  @node = node
  @class_name = classdef_node.loc.expression.source
  @superclass_name = superclass.loc.expression.source unless superclass.nil?
  super if defined?(super)
end
on_module(node) click to toggle source
Calls superclass method
# File lib/ducalis/cops/extensions/type_resolving.rb, line 28
def on_module(node)
  @node = node
  super if defined?(super)
end

Private Instance Methods

in_controller?() click to toggle source
# File lib/ducalis/cops/extensions/type_resolving.rb, line 41
def in_controller?
  return false if @superclass_name.nil?

  @superclass_name.end_with?(*CONTROLLER_SUFFIXES)
end
in_model?() click to toggle source
# File lib/ducalis/cops/extensions/type_resolving.rb, line 47
def in_model?
  MODELS_CLASS_NAMES.include?(@superclass_name)
end
in_service?() click to toggle source
# File lib/ducalis/cops/extensions/type_resolving.rb, line 35
def in_service?
  path = @node.location.expression.source_buffer.name
  services_path = cop_config.fetch('ServicePath') { SERVICES_PATH }
  path.include?(services_path)
end
in_worker?() click to toggle source
# File lib/ducalis/cops/extensions/type_resolving.rb, line 51
def in_worker?
  @class_name.end_with?(*WORKERS_SUFFIXES)
end