Sha256: dffeddfed94d7aa43b54020dbce078ca40b0db7a0eb1354b6a89b227eb972a1f
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Kolekti module Analizo class Parser def initialize(wanted_metric_configurations, persistence_strategy) @wanted_metric_configurations = wanted_metric_configurations @persistence_strategy = persistence_strategy end def parse_all(output) YAML.load_documents(output).each do |hash| parse(hash) end end private def parse_file_name(file_name) without_extension = file_name.rpartition('.').first without_extension.gsub('.', '_').gsub('/', '.') end def parse_class_name(analizo_module_name) analizo_module_name.split('::').join('.') end def module_name(file_name, analizo_module_name) "#{parse_file_name(file_name)}.#{parse_class_name(analizo_module_name)}" end def parse(result_map) result_map.each do |code, value| metric_configuration = @wanted_metric_configurations[code] next if metric_configuration.nil? if result_map['_filename'].nil? @persistence_strategy.create_tree_metric_result( metric_configuration, "ROOT", value, KalibroClient::Entities::Miscellaneous::Granularity::SOFTWARE) else name = module_name(result_map['_filename'].last, result_map['_module']) @persistence_strategy.create_tree_metric_result( metric_configuration, name, value, KalibroClient::Entities::Miscellaneous::Granularity::CLASS) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kolekti_analizo-5.0.0 | lib/kolekti_analizo/parser.rb |