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

pulibrary / allsearch_api / 842726e7-a026-4fa4-95f6-9644d41e6dd0

02 Jul 2025 06:28PM UTC coverage: 99.507% (+0.01%) from 99.494%
842726e7-a026-4fa4-95f6-9644d41e6dd0

Pull #381

circleci

sandbergja
Refactor RackResponseController so that subclasses don't need to implement #json

Co-authored-by: Christina Chortaria <christinach@users.noreply.github.com>
Pull Request #381: Rewrite DPUL and FindingAids controllers as rack applications

30 of 30 new or added lines in 3 files covered. (100.0%)

81 existing lines in 19 files now uncovered.

1009 of 1014 relevant lines covered (99.51%)

96.77 hits per line

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

100.0
/app/models/libguides.rb
1
# frozen_string_literal: true
2

3
class Libguides
3✔
4
  include Parsed
3✔
5

6
  attr_reader :query_terms
3✔
7

8
  def initialize(query_terms:)
3✔
UNCOV
9
    @query_terms = query_terms
16✔
10
  end
11

12
  def documents
3✔
UNCOV
13
    service_response[0..2] || []
15✔
14
  end
15

16
  def number
3✔
UNCOV
17
    service_response.count
16✔
18
  end
19

20
  def service_response
3✔
UNCOV
21
    @service_response ||= Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
31✔
UNCOV
22
      response = http.request(request)
16✔
UNCOV
23
      JSON.parse(response.body)
15✔
24
    end
25
  end
26

27
  private
3✔
28

29
  def more_link
3✔
UNCOV
30
    "https://libguides.princeton.edu/srch.php?q=#{query_terms}"
30✔
31
  end
32

33
  def uri
3✔
UNCOV
34
    URI::HTTPS.build(host: 'lgapi-us.libapps.com',
48✔
35
                     path: '/1.2/guides',
36
                     query: query_hash)
37
  end
38

39
  def query_hash
3✔
UNCOV
40
    { search_terms: query_terms,
48✔
41
      sort_by: 'relevance',
42
      status: '1',
43
      expand: 'owner,subjects,tags' }.to_query
44
  end
45

46
  def request
3✔
UNCOV
47
    libguides_request = Net::HTTP::Get.new(uri)
16✔
48

UNCOV
49
    token = OAuthToken.find_or_create_by({ service: 'libguides',
16✔
50
                                           endpoint: 'https://lgapi-us.libapps.com/1.2/oauth/token' }).token
UNCOV
51
    libguides_request['Authorization'] = "Bearer #{token}"
15✔
UNCOV
52
    libguides_request
15✔
53
  end
54
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