class Rubocop::Cop::Cop
def self.inherited(subclass)
def self.inherited(subclass) all << subclass end
def add_offence(severity, line_number, message)
def add_offence(severity, line_number, message) @offences << Offence.new(severity, line_number, message) end
def all_positions(sexp)
def all_positions(sexp) return [sexp[2]] if sexp[0] =~ /^@/ sexp.grep(Array).reduce([]) { |memo, s| memo + all_positions(s) } end
def each(sym, sexp)
def each(sym, sexp) yield sexp if sexp[0] == sym sexp.each do |elem| each(sym, elem) { |s| yield s } if Array === elem end end
def each_parent_of(sym, sexp)
def each_parent_of(sym, sexp) parents = [] sexp.each do |elem| if Array === elem if elem[0] == sym parents << sexp unless parents.include?(sexp) elem = elem[1..-1] end each_parent_of(sym, elem) do |parent| parents << parent unless parents.include?(parent) end end end parents.each { |parent| yield parent } end
def has_report?
def has_report? !@offences.empty? end
def initialize
def initialize @offences = [] end
def whitespace?(token)
def whitespace?(token) [:on_sp, :on_ignored_nl, :on_nl].include?(token.type) end