Class: WikiFari::Request

Inherits:
Helper
  • Object
show all
Defined in:
lib/wikifari/request.rb

Direct Known Subclasses

Config

Instance Method Summary collapse

Methods inherited from Helper

#encode, #query

Instance Method Details

#api_request(options = {}) ⇒ Object



3
4
5
6
7
8
# File 'lib/wikifari/request.rb', line 3

def api_request(options = {})
  site  = Options[:site]
  query = self.query options

  URI.parse("#{site}?format=json&#{query}").read
end

#custom(options = {}) ⇒ Object



10
11
12
13
14
# File 'lib/wikifari/request.rb', line 10

def custom(options = {})
  data = self.api_request options

  Custom.new data
end

#read(title, redirect = false) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/wikifari/request.rb', line 16

def read(title, redirect = false)
  data = self.api_request :action => "query",
                          :prop   => "revisions",
                          :rvprop => "content",
                          :titles => self.encode(title)

  page = Page.new data

  return self.read(page.redirect) if page.redirect? and redirect

  page
end

#search(title) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/wikifari/request.rb', line 29

def search(title)
  data = self.api_request :action => "opensearch",
                          :limit  => "10",
                          :search => self.encode(title)

  Search.new data
end