class GSA::Searcher
Constants
- FIELDS
Public Class Methods
clean_query(query)
click to toggle source
# File lib/gsa/searcher.rb, line 32 def self.clean_query(query) query.tr(' ', '+') end
parsed_json(xml)
click to toggle source
# File lib/gsa/searcher.rb, line 36 def self.parsed_json(xml) Hash.from_xml(xml) end
results_found?(search_results)
click to toggle source
# File lib/gsa/searcher.rb, line 40 def self.results_found?(search_results) search_results[GSA::GOOGLE_SEARCH_PROTOCOL].has_key? GSA::RESULTS end
search(query, args = {})
click to toggle source
# File lib/gsa/searcher.rb, line 8 def self.search(query, args = {}) query = clean_query(query) args[:site] = args[:collection] || GSA::DEFAULT_COLLECTION args[:requiredfields] = args[:filters] || nil search = "#{GSA.base_uri}/search?q=#{query}" FIELDS.each do |field| begin value = args[field] || GSA.send("DEFAULT_#{field.capitalize}") search = "#{search}&#{field.to_s}=#{value}" rescue NoMethodError end end puts "URL = #{search}" results = RestClient.get(search) return results if args[:embedded] search_results = parsed_json(results) results_found?(search_results) ? search_results : GSA::NO_RESULTS end