class Biblionet::Extractors::Search

Public Class Methods

new(options = {}) click to toggle source
# File lib/bookshark/extractors/search.rb, line 10
def initialize(options = {})
  perform_search(options) unless options.empty?
end

Public Instance Methods

build_search_url(options = {}) click to toggle source
# File lib/bookshark/extractors/search.rb, line 51
def build_search_url(options = {})
  title         = present?(options[:title])     ? options[:title].gsub(' ','+')     : ''
  author        = present?(options[:author])    ? options[:author].gsub(' ','+')    : ''
  publisher     = present?(options[:publisher]) ? options[:publisher].gsub(' ','+') : ''
  category      = present?(options[:category])  ? options[:category].gsub(' ','+')  : ''

  title_split   = options[:title_split]  ||= '1'
  book_id       = options[:book_id]      ||= ''
  isbn          = options[:isbn]         ||= ''        
  author_id     = options[:author_id]    ||= ''        
  publisher_id  = options[:publisher_id] ||= ''      
  category_id   = options[:category_id]  ||= ''
  after_year    = options[:after_year]   ||= ''
  before_year   = options[:before_year]  ||= ''

  url_builder = StringBuilder.new
  url_builder.append('http://www.biblionet.gr/main.asp?page=results')
  url_builder.append('&title=')
  url_builder.append(title)
  url_builder.append('&TitleSplit=')
  url_builder.append(title_split)
  url_builder.append('&Titlesid=')
  url_builder.append(book_id)
  url_builder.append('&isbn=')
  url_builder.append(isbn)
  url_builder.append('&person=')
  url_builder.append(author)
  url_builder.append('&person_ID=')
  url_builder.append(author_id)
  url_builder.append('&com=')
  url_builder.append(publisher)
  url_builder.append('&com_ID=')
  url_builder.append(publisher_id)
  url_builder.append('&from=')
  url_builder.append(after_year)        
  url_builder.append('&untill=')
  url_builder.append(before_year)
  url_builder.append('&subject=')
  url_builder.append(category)
  url_builder.append('&subject_ID=')
  url_builder.append(category_id)
  url_builder.build
end
search_by_isbn(isbn) click to toggle source
# File lib/bookshark/extractors/search.rb, line 46
def search_by_isbn(isbn)
  results = perform_search(isbn: isbn, results_type: 'ids')
  book_id = results.empty? ? nil : results.first.to_i
end