Module: Autoselect::Levels::ColCodeBadge

Defined in:
lib/autoselect/levels/col_code_badge.rb

Class Method Summary collapse

Class Method Details

.mark(records) ⇒ Array<OpenStruct>

Returns records; when they span more than one code each one with a known code gets _col_extension.

Parameters:

  • records (Array<OpenStruct>) —

    CoL level pseudo-records

Returns:

  • (Array<OpenStruct>) —

    records; when they span more than one code each one with a known code gets _col_extension



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/autoselect/levels/col_code_badge.rb', line 18

def self.mark(records)
  codes = records.map { |record| record._col_extension[:col_code] }
  return records if codes.compact.uniq.size < 2

  records.each do |record|
    extension = record._col_extension
    acronym = ::Vendor::Colrapi::COL_CODE_ACRONYMS[extension[:col_code]]
    next if acronym.nil?

    record._col_extension = extension.merge(col_code_acronym: acronym)
  end
end