Class: Kolekti::Radon::Collector
- Inherits:
-
Collector
- Object
- Collector
- Kolekti::Radon::Collector
- Defined in:
- lib/kolekti/radon/collector.rb
Class Method Summary collapse
Instance Method Summary collapse
- #clean(code_directory, wanted_metric_configurations) ⇒ Object
- #collect_metrics(code_directory, wanted_metric_configurations, persistence_strategy) ⇒ Object
- #default_value_from(metric_configuration) ⇒ Object
-
#initialize ⇒ Collector
constructor
A new instance of Collector.
Constructor Details
#initialize ⇒ Collector
Returns a new instance of Collector.
21 22 23 24 25 26 |
# File 'lib/kolekti/radon/collector.rb', line 21 def initialize supported_metrics = parse_supported_metrics( File.('../metrics.yml', __FILE__), 'Radon', [:PYTHON]) super('Radon', 'Set of Python metric tools', supported_metrics) end |
Class Method Details
.available? ⇒ Boolean
6 7 8 9 10 |
# File 'lib/kolekti/radon/collector.rb', line 6 def self.available? # FIXME: below is the better form of writing this, but it does not look compatible with ruby 2.1.5 and 2.0.0 # system('radon', '--version', [:out, :err] => '/dev/null') ? true : false system('radon', '--version', out: '/dev/null', err: '/dev/null') ? true : false end |
.logger ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/kolekti/radon/collector.rb', line 12 def self.logger if @logger.nil? @logger = Logger.new(STDERR) @logger.progname = 'kolekti/radon' end @logger end |
Instance Method Details
#clean(code_directory, wanted_metric_configurations) ⇒ Object
42 43 44 |
# File 'lib/kolekti/radon/collector.rb', line 42 def clean(code_directory, wanted_metric_configurations) # no need to do anything, we only use pipes during collection end |
#collect_metrics(code_directory, wanted_metric_configurations, persistence_strategy) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/kolekti/radon/collector.rb', line 28 def collect_metrics(code_directory, wanted_metric_configurations, persistence_strategy) parsers_metric_configurations = Hash.new { |hash, key| hash[key] = [] } wanted_metric_configurations.each_value do |metric_configuration| parser = metric_configuration_parser(metric_configuration) parsers_metric_configurations[parser] << metric_configuration end parsers_metric_configurations.each do |parser_class, metric_configurations| parser = parser_class.new(metric_configurations, persistence_strategy, self.class.logger) run_radon(code_directory, parser) end end |
#default_value_from(metric_configuration) ⇒ Object
47 48 49 |
# File 'lib/kolekti/radon/collector.rb', line 47 def default_value_from(metric_configuration) metric_configuration_parser(metric_configuration).default_value end |