• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / bibdata / 2ee2c4fc-5ef0-4806-b86e-01bf70aa67a0

24 Dec 2024 04:55PM UTC coverage: 91.859% (-0.04%) from 91.902%
2ee2c4fc-5ef0-4806-b86e-01bf70aa67a0

Pull #2569

circleci

christinach
Generate new .rubocop_todo.yml
rubocop fix
Pull Request #2569: Rubocop gems

335 of 378 new or added lines in 57 files covered. (88.62%)

2 existing lines in 2 files now uncovered.

3385 of 3685 relevant lines covered (91.86%)

377.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.0
/marc_to_solr/lib/indigenous_languages.rb
1
# frozen_string_literal: true
2

3
# Identify materials in indigenous languages
4
# from the Western Hemisphere
5
module IndigenousLanguages
1✔
6
  def in_an_indigenous_language?(record)
1✔
7
    language_extractor = LanguageExtractor.new(record)
170✔
8
    language_extractor.all_language_codes.any? { |code| language_codes.include? code } ||
311✔
9
      language_extractor.possible_language_subject_headings.any? { |heading| subject_headings.include? heading }
1✔
10
  end
11

12
  def subject_headings
1✔
13
    @subject_headings ||= fetch_subject_headings_from_file
2✔
14
  end
15

16
  def language_codes
1✔
17
    @language_codes ||= fetch_language_codes_from_file
142✔
18
  end
19

20
  private
1✔
21

22
    def fetch_subject_headings_from_file
1✔
23
      column_name = 'LCSH for indigenous languages'
2✔
24
      csv = CSV.read(File.join(File.dirname(__FILE__), 'augment_the_facet', 'indigenous_languages_western_hemisphere_lcsh.csv'), headers: true)
2✔
25
      unless csv.headers.include? column_name
2✔
NEW
26
        raise "Invalid CSV format, must have a column named \"#{column_name}\" containing LCSH"
×
27
      end
28

29
      csv[column_name]
2✔
30
    end
31

32
    def fetch_language_codes_from_file
1✔
33
      csv = CSV.read(File.join(File.dirname(__FILE__), 'augment_the_facet', 'indigenous_languages_western_hemisphere_codes.csv'), headers: true)
8✔
34
      column_contents = csv[csv.headers.first]
8✔
35
      column_contents.select { |entry| entry&.length == 3 }
520✔
36
                     .uniq
37
    end
38
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc