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

pulibrary / orangelight / 0e37073d-109c-440c-949f-49d2aa86311b

18 Aug 2025 09:05PM UTC coverage: 0.482% (-94.9%) from 95.343%
0e37073d-109c-440c-949f-49d2aa86311b

push

circleci

web-flow
Replace per_page_options_for_select with custom component to avoid deprecation issue (#5186)

* Start creating new component to address deprecaton warning

* Replace per_page_options_for_select with custom component to avoid deprecation issue

Co-authored-by: Jane Sandberg <sandbergja@users.noreply.github.com>

---------

Co-authored-by: Ryan Jensen <rj1044@princeton.edu>
Co-authored-by: Jane Sandberg <sandbergja@users.noreply.github.com>

0 of 33 new or added lines in 1 file covered. (0.0%)

9374 existing lines in 213 files now uncovered.

47 of 9753 relevant lines covered (0.48%)

0.01 hits per line

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

0.0
/app/models/requests/submissions/clancy.rb
1
# frozen_string_literal: true
UNCOV
2
require 'faraday'
×
3

UNCOV
4
module Requests::Submissions
×
UNCOV
5
  class Clancy < Service
×
UNCOV
6
    def initialize(submission)
×
UNCOV
7
      super(submission, service_type: 'clancy_in_library')
×
UNCOV
8
    end
×
9

UNCOV
10
    def handle
×
UNCOV
11
      items = @submission.filter_items_by_service(service_type)
×
UNCOV
12
      items.each do |item|
×
UNCOV
13
        handle_item(item)
×
UNCOV
14
      end
×
UNCOV
15
    end
×
16

UNCOV
17
    private
×
18

UNCOV
19
      def handle_item(item)
×
20
        # place the item on hold
UNCOV
21
        hold = Requests::Submissions::HoldItem.new(@submission, service_type: item["type"])
×
UNCOV
22
        hold.handle
×
23

UNCOV
24
        if hold.errors.empty?
×
25
          # request it from the clancy facility
UNCOV
26
          clancy_item = Requests::ClancyItem.new(barcode: item[:barcode])
×
UNCOV
27
          status = clancy_item.request?(patron: @submission.patron, hold_id: hold_id(item_barcode: item[:barcode], patron_barcode: @submission.patron.barcode))
×
UNCOV
28
          @errors << { type: 'clancy', error: clancy_item.errors.first, bibid: item[:bibid], barcode: item[:barcode] } unless status
×
UNCOV
29
        else
×
UNCOV
30
          @errors << hold.errors.first.merge(type: 'clancy_hold')
×
UNCOV
31
        end
×
UNCOV
32
      end
×
33

UNCOV
34
      def hold_id(item_barcode:, patron_barcode:)
×
UNCOV
35
        id = "#{item_barcode}-#{patron_barcode}-#{Time.zone.now.to_i}"
×
UNCOV
36
        Rails.logger.debug { "Requesting clancy item with id: #{id}" }
×
UNCOV
37
        id
×
UNCOV
38
      end
×
UNCOV
39
  end
×
UNCOV
40
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