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

pulibrary / allsearch_api / dc764cb3-fc9b-47a1-b010-56b68ecb28a7

01 Aug 2025 03:30PM UTC coverage: 99.514%. Remained the same
dc764cb3-fc9b-47a1-b010-56b68ecb28a7

push

circleci

web-flow
Merge pull request #384 from pulibrary/dependabot/bundler/nokogiri-1.18.9

Bump nokogiri from 1.18.8 to 1.18.9

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/library_website.rb
1
# frozen_string_literal: true
2

3
class LibraryWebsite
3✔
4
  include Parsed
3✔
5

6
  attr_reader :query_terms
3✔
7

8
  def initialize(query_terms:)
3✔
9
    @query_terms = query_terms
7✔
10
    @website_config = Rails.application.config_for(:allsearch)[:library_website]
7✔
11
  end
12

13
  def self.library_website_host
3✔
14
    config = LibraryWebsite.website_config
52✔
15
    if Flipper.enabled?(:permanent_host?)
52✔
16
      config[:host]
6✔
17
    else
18
      config[:temporary_host]
46✔
19
    end
20
  end
21

22
  def self.website_config
3✔
23
    @website_config ||= Rails.application.config_for(:allsearch)[:library_website]
52✔
24
  end
25

26
  def documents
3✔
27
    service_response['content'][0..2]
6✔
28
  end
29

30
  def number
3✔
31
    service_response['content'].count
5✔
32
  end
33

34
  def service_response
3✔
35
    response = Net::HTTP.post_form(uri, 'search' => query_terms)
11✔
36
    response_code = response.code
11✔
37
    if response_code.start_with? '5'
11✔
38
      raise AllsearchError.new(msg: "The library website API returned a #{response_code} HTTP status code.")
1✔
39
    end
40

41
    @service_response ||= JSON.parse(response.body)
10✔
42
  end
43

44
  private
3✔
45

46
  def more_link
3✔
47
    URI::HTTPS.build(host: LibraryWebsite.library_website_host,
6✔
48
                     path: '/search',
49
                     query: "keys=#{query_terms}")
50
  end
51

52
  def uri
3✔
53
    URI::HTTPS.build(host: LibraryWebsite.library_website_host,
11✔
54
                     path: @website_config[:path])
55
  end
56
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