Class: FeatureMap::Private::PercentileMetricsCalculator
- Inherits:
-
Object
- Object
- FeatureMap::Private::PercentileMetricsCalculator
- Defined in:
- lib/feature_map/private/percentile_metrics_calculator.rb
Instance Attribute Summary collapse
-
#metrics ⇒ Object
readonly
Returns the value of attribute metrics.
-
#test_coverage ⇒ Object
readonly
Returns the value of attribute test_coverage.
Instance Method Summary collapse
- #cyclomatic_complexity_for(feature_name) ⇒ Object
- #encapsulation_for(feature_name) ⇒ Object
- #feature_size_for(feature_name) ⇒ Object
-
#initialize(metrics:, test_coverage:) ⇒ PercentileMetricsCalculator
constructor
A new instance of PercentileMetricsCalculator.
- #test_coverage_for(feature_name) ⇒ Object
- #todo_count_for(feature_name) ⇒ Object
Constructor Details
#initialize(metrics:, test_coverage:) ⇒ PercentileMetricsCalculator
Returns a new instance of PercentileMetricsCalculator.
9 10 11 12 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 9 def initialize(metrics:, test_coverage:) @metrics = metrics @test_coverage = test_coverage end |
Instance Attribute Details
#metrics ⇒ Object (readonly)
Returns the value of attribute metrics.
7 8 9 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 7 def metrics @metrics end |
#test_coverage ⇒ Object (readonly)
Returns the value of attribute test_coverage.
7 8 9 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 7 def test_coverage @test_coverage end |
Instance Method Details
#cyclomatic_complexity_for(feature_name) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 14 def cyclomatic_complexity_for(feature_name) calculate( cyclomatic_complexity_ratios, metrics.dig(feature_name, FeatureMetricsCalculator::COMPLEXITY_RATIO_METRIC) ) end |
#encapsulation_for(feature_name) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 21 def encapsulation_for(feature_name) calculate( encapsulation_ratios, metrics.dig(feature_name, FeatureMetricsCalculator::ENCAPSULATION_RATIO_METRIC) ) end |
#feature_size_for(feature_name) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 28 def feature_size_for(feature_name) calculate( feature_sizes, metrics.dig(feature_name, FeatureMetricsCalculator::LINES_OF_CODE_METRIC) ) end |
#test_coverage_for(feature_name) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 35 def test_coverage_for(feature_name) calculate( test_coverage_ratios, test_coverage.dig(feature_name, TestCoverageFile::COVERAGE_RATIO) ) end |
#todo_count_for(feature_name) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/feature_map/private/percentile_metrics_calculator.rb', line 42 def todo_count_for(feature_name) calculate( todo_counts, metrics.dig(feature_name, FeatureMetricsCalculator::TODO_LOCATIONS_METRIC)&.size ) end |