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

pulibrary / bibdata / b3c4a532-5da0-46f8-9c20-20018605a028

21 Mar 2025 08:11PM UTC coverage: 42.257% (-49.9%) from 92.185%
b3c4a532-5da0-46f8-9c20-20018605a028

push

circleci

sandbergja
Move various gems from the default Gemfile group to a more appropriate group

1599 of 3784 relevant lines covered (42.26%)

2.56 hits per line

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

35.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)
×
8
    language_extractor.all_language_codes.any? { |code| language_codes.include? code } ||
×
9
      language_extractor.possible_language_subject_headings.any? { |heading| subject_headings.include? heading }
×
10
  end
11

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

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

20
  private
1✔
21

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

29
      csv[column_name]
×
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)
×
34
      column_contents = csv[csv.headers.first]
×
35
      column_contents.select { |entry| entry&.length == 3 }
×
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