Sha256: 702ec6daef492eb7447af197e4fd29c245c6a51c40bd9f951e39610fb03ca38e
Contents?: true
Size: 656 Bytes
Versions: 15
Compression:
Stored size: 656 Bytes
Contents
module Skeptic class Critic attr_accessor *Rules.table.slugs attr_reader :criticism def initialize(options = {}) @criticism = [] options.each do |key, value| send "#{key}=", value end end def criticize(code) @code = code @tokens = Ripper.lex(code) @sexp = Ripper.sexp(code) Rules.table.each_rule do |rule_class, slug, option| next unless send(slug) rule = rule_class.new send(slug) rule.apply_to @code, @tokens, @sexp rule.violations.each do |violation| @criticism << [violation, rule.name] end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems