class Ducalis::OnlyDefs
Constants
- DETAILS
- OFFENSE
Public Instance Methods
on_class(node)
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 17 def on_class(node) _name, inheritance, body = *node return if !inheritance.nil? || body.nil? return unless !instance_methods_definitions?(body) && class_methods_defintions?(body) add_offense(node, :expression, OFFENSE) end
Private Instance Methods
children(body)
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 49 def children(body) (body.type != :begin ? s(:begin, body) : body).children end
class_method_definition?()
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 43 def class_method_definition? lambda do |node| node.type == :defs && !non_public?(node) && !initialize?(node) end end
class_methods_defintions?(body)
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 32 def class_methods_defintions?(body) children(body).any?(&class_method_definition?) || children(body).any?(&method(:self_class_defs?)) end
instance_methods_definitions?(body)
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 28 def instance_methods_definitions?(body) children(body).any?(&public_method_definition?) end
public_method_definition?()
click to toggle source
# File lib/ducalis/cops/only_defs.rb, line 37 def public_method_definition? lambda do |node| node.type == :def && !non_public?(node) && !initialize?(node) end end