Module: StudFinder::DispersionWarnings
- Defined in:
- lib/stud_finder/dispersion_warnings.rb
Class Method Summary collapse
- .build(files:, pcts:, raw_sources:) ⇒ Object
- .insufficient_dispersion?(files, pct_map, raw_source) ⇒ Boolean
Class Method Details
.build(files:, pcts:, raw_sources:) ⇒ Object
7 8 9 10 11 |
# File 'lib/stud_finder/dispersion_warnings.rb', line 7 def build(files:, pcts:, raw_sources:) raw_sources.filter_map do |signal, raw_source| "insufficient_dispersion_#{signal}" if insufficient_dispersion?(files, pcts.fetch(signal), raw_source) end end |
.insufficient_dispersion?(files, pct_map, raw_source) ⇒ Boolean
13 14 15 16 17 18 |
# File 'lib/stud_finder/dispersion_warnings.rb', line 13 def insufficient_dispersion?(files, pct_map, raw_source) values = files.map { |file| pct_map.fetch(file, 0.0).to_f } raw_values = files.map { |file| raw_source.fetch(file, 0).to_f } values.any? && values.all?(&:zero?) && raw_values.any? { |value| !value.zero? } end |