Class: CultureGrid::Index

Inherits:
Object
  • Object
show all
Defined in:
lib/culturegrid.rb

Instance Method Summary collapse

Constructor Details

#initialize(base = "http://culturegrid.org.uk/index/select/") ⇒ Index

Returns a new instance of Index.



14
15
16
# File 'lib/culturegrid.rb', line 14

def initialize(base="http://culturegrid.org.uk/index/select/")
  @base = base
end

Instance Method Details

#get(opts) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/culturegrid.rb', line 18

def get(opts)
  q = []
  opts[:version] ||= "2.2"
  opts[:indent] ||= "on"
  opts[:start] ||= "0"
  opts[:rows] ||= "10"
  opts.each_pair do |opt,val|
    q << "#{opt}=#{CGI::escape(val)}"
  end
  url = "#{@base}?#{q.join("&")}"
  
  Nokogiri::XML(Weary.get(url).perform.body)
end

#query(terms, opts = {}) ⇒ Object



36
37
38
# File 'lib/culturegrid.rb', line 36

def query(terms, opts={})
  self.result({:q=>terms}.merge(opts))
end

#result(opts) ⇒ Object



32
33
34
# File 'lib/culturegrid.rb', line 32

def result(opts)
  self.get(opts).css("doc").collect{|a| Doc.new(a)}
end

#search(terms, opts = {}) ⇒ Object



40
41
42
# File 'lib/culturegrid.rb', line 40

def search(terms, opts={})
  self.query("dc.title all \"#{terms}\" OR fullText all \"#{terms}\"", opts)
end