class GeoCombine::GeoBlacklightHarvester::LegacyBlacklightResponse
Attributes
base_url[R]
page[RW]
response[RW]
Public Class Methods
new(response:, base_url:)
click to toggle source
# File lib/geo_combine/geo_blacklight_harvester.rb, line 88 def initialize(response:, base_url:) @base_url = base_url @response = response @page = 1 end
Public Instance Methods
documents() { |dig('response', 'docs')| ... }
click to toggle source
# File lib/geo_combine/geo_blacklight_harvester.rb, line 94 def documents return enum_for(:documents) unless block_given? while current_page && total_pages && (current_page <= total_pages) do yield response.dig('response', 'docs') break if current_page == total_pages self.page += 1 puts "Fetching page #{page} @ #{url}" if GeoCombine::GeoBlacklightHarvester.config[:debug] begin self.response = JSON.parse(Net::HTTP.get(URI(url))) rescue => e puts "Request for #{url} failed with #{e}" self.response = nil end end end
Private Instance Methods
current_page()
click to toggle source
# File lib/geo_combine/geo_blacklight_harvester.rb, line 119 def current_page response.dig('response', 'pages', 'current_page') end
total_pages()
click to toggle source
# File lib/geo_combine/geo_blacklight_harvester.rb, line 123 def total_pages response.dig('response', 'pages', 'total_pages') end
url()
click to toggle source
# File lib/geo_combine/geo_blacklight_harvester.rb, line 115 def url "#{base_url}&page=#{page}" end