in lib/tasks/helpers/ast_processor.rb [12:42]
def process_ast(ast, stats)
traverser = AstTraverser.new
traverser.walk(ast)
return if traverser.stats.empty?
traverser.stats.each do |component, component_info|
stats[component] ||= {
paths: []
}
stats[component][:paths] << component_info[:path]
stats[component][:paths].uniq!
stats[component][:arguments] ||= {}
component_info[:arguments]&.each do |arg, value|
arg_name = arg.to_s
stats[component][:arguments][arg_name] ||= {}
if arg_name == "classes"
value.split.each do |val|
increment(stats, component, arg_name, val)
end
else
increment(stats, component, arg_name, value)
end
end
end
end