Class: Wikiranger::Wikipedia

Inherits:
Object
  • Object
show all
Defined in:
lib/wikiranger/wikipedia.rb,
lib/wikiranger/wikipedia/user_contribution.rb

Defined Under Namespace

Classes: Error, UnexpectedResponseError, UserContribution

Constant Summary collapse

DEFAULT_API_BASE_URI =
"https://en.wikipedia.org"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Wikipedia

Returns a new instance of Wikipedia.



10
11
12
# File 'lib/wikiranger/wikipedia.rb', line 10

def initialize(options = {})
  @options = options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/wikiranger/wikipedia.rb', line 3

def options
  @options
end

Instance Method Details

#user_contributions(user) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/wikiranger/wikipedia.rb', line 14

def user_contributions(user)
  uri      = "#{api_base_uri}/w/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser=#{URI.escape(user)}&ucdir=older&ucprop=&ucprop=ids|title|timestamp|comment|size|sizediff"
  response = request(uri)
  if response.code.to_i != 200
    unexpected_response!("Unexpected response code: #{response.code} when retrieving user contributions for #{user}")
  end
  parsed_body   = JSON.parse(response.body)
  contributions = []
  parsed_body["query"]["usercontribs"].each do |contribution|
    contributions.push(Wikiranger::Wikipedia::UserContribution.new(contribution))
  end
  contributions
end