class Archdown::Download
Attributes
library_root[R]
search_terms[R]
Public Class Methods
new(library_root, search_terms)
click to toggle source
# File lib/archdown/download.rb, line 11 def initialize(library_root, search_terms) @library = Library.new(library_root) @search_terms = search_terms @client = Archivist::Client::Base.new end
Public Instance Methods
go!(&each_book)
click to toggle source
# File lib/archdown/download.rb, line 17 def go!(&each_book) page = 1 loop do books = ::Retriable.retriable :on => Faraday::Error::TimeoutError do terms = @search_terms.merge(:page => page) begin @client.search(terms) rescue e $stderr.puts "Search Terms: #{JSON.pretty_generate(terms)}" raise end end break if books.empty? books.each do |book| Librarian.new(@library, book).store_book(&each_book) end page += 1 end end