Class: WikiFari::Request

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

Direct Known Subclasses

Config

Constant Summary collapse

READ_QUERY =
"action=query&prop=revisions&rvlimit=1&rvprop=content&titles"
SEARCH_QUERY =
"action=opensearch&limit=25&search"

Instance Method Summary collapse

Instance Method Details

#api_request(query, title) ⇒ Object



6
7
8
9
10
11
# File 'lib/wikifari/request.rb', line 6

def api_request(query, title)
  site  = OPTIONS[:site]
  title = URI.escape title

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

#read(title, redirect = true) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/wikifari/request.rb', line 13

def read(title, redirect = true)
  data = self.api_request READ_QUERY, title

  page = Page.new data

  page.redirect? && redirect ? self.read(page.redirect) : page
end

#search(title) ⇒ Object



21
22
23
24
25
# File 'lib/wikifari/request.rb', line 21

def search(title)
  data = self.api_request SEARCH_QUERY, title

  Search.new data
end