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

pulibrary / allsearch_api / 687b4f97-c486-48ab-852e-e006b1c694d3

14 Jul 2025 01:49PM UTC coverage: 99.514%. Remained the same
687b4f97-c486-48ab-852e-e006b1c694d3

push

circleci

sandbergja
Remove actionview gem

We don't use it.

1024 of 1029 relevant lines covered (99.51%)

92.23 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✔
9
    @query_terms = query_terms
16✔
10
  end
11

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

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

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

27
  private
3✔
28

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

33
  def uri
3✔
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✔
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✔
47
    libguides_request = Net::HTTP::Get.new(uri)
16✔
48

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