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

pulibrary / bibdata / fa8448dd-0600-47e7-8889-1dfa562d11f0

05 Sep 2023 08:01PM UTC coverage: 86.172% (-4.9%) from 91.048%
fa8448dd-0600-47e7-8889-1dfa562d11f0

push

circleci

sandbergja
i2239: Use SRU instead of Alma API for bib record retrieval

8 of 8 new or added lines in 2 files covered. (100.0%)

3309 of 3840 relevant lines covered (86.17%)

326.63 hits per line

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

0.0
/app/adapters/alma_adapter/alma_holding.rb
1
class AlmaAdapter
×
2
  class AlmaHolding
×
3
    def self.for(holding, holding_record: nil, recap: false)
×
4
      return new(holding, holding_record:) unless recap
×
5
      AlmaAdapter::RecapAlmaHolding.new(holding, holding_record:)
×
6
    end
×
7
    attr_reader :holding
×
8
    # @param item [Alma::BibHolding]
9
    def initialize(holding, holding_record: nil)
×
10
      @holding = holding
×
11
      @holding_record = holding_record
×
12
    end
×
13

14
    def marc_record_enrichment
×
15
      [
×
16
        enriched_852,
×
17
        prepend_holding_id(holding_record.fields("856")),
×
18
        prepend_holding_id(holding_record.fields("866")),
×
19
        prepend_holding_id(holding_record.fields("867"))
×
20
      ].flatten.compact
×
21
    end
×
22

23
    def enriched_852
×
24
      prepend_holding_id(holding_record.fields("852"))
×
25
    end
×
26

27
    def prepend_holding_id(fields)
×
28
      return if fields.blank?
×
29
      fields.map do |field|
×
30
        field.tap do |f|
×
31
          f.subfields.unshift(MARC::Subfield.new('0', holding_id))
×
32
        end
×
33
      end
×
34
    end
×
35

36
    def holding_record
×
37
      @holding_record ||=
×
38
        MARC::XMLReader.new(
×
39
            StringIO.new(
×
40
              holding["anies"].first
×
41
            )
×
42
          ).first
×
43
    end
×
44

45
    def holding_id
×
46
      holding["holding_id"]
×
47
    end
×
48
  end
×
49
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