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

pulibrary / allsearch_api / 9eae8e03-b4ba-4fef-a63b-d5780d976746

30 Jun 2025 12:00PM UTC coverage: 99.492% (+0.001%) from 99.491%
9eae8e03-b4ba-4fef-a63b-d5780d976746

Pull #379

circleci

maxkadel
Ensure we sort library staff correctly, and include bios in searchable field

Closes #371

Co-authored-by: Jane Sandberg <sandbergja@users.noreply.github.com>
Co-authored-by: Kevin Reiss <kevinreiss@users.noreply.github.com>
Co-authored-by: Ryan Laddusaw <rladdusaw@users.noreply.github.com>
Pull Request #379: Ensure we sort library staff correctly, and include bios in searchabl…

3 of 3 new or added lines in 1 file covered. (100.0%)

95 existing lines in 17 files now uncovered.

979 of 984 relevant lines covered (99.49%)

101.71 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