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

pulibrary / allsearch_api / 8b9aaf5e-cf64-41ee-baf6-46eb5bd68826

14 Oct 2025 03:46AM UTC coverage: 99.32% (-0.2%) from 99.514%
8b9aaf5e-cf64-41ee-baf6-46eb5bd68826

Pull #395

circleci

sandbergja
Make search controller shared examples less coupled to solr
Pull Request #395: Migrate a few more controllers away from Rails

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

121 existing lines in 22 files now uncovered.

1022 of 1029 relevant lines covered (99.32%)

96.65 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