Class: CodeforcesAPI::MethodClass::User

Inherits:
Object
  • Object
show all
Defined in:
lib/codeforces_api/client/user.rb

Instance Method Summary collapse

Instance Method Details

#info(*handles) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/codeforces_api/client/user.rb', line 4

def info *handles
  params = {'handles' => handles.join(';')}
  json_request = CodeforcesAPI.client.get('user.info', params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_users = json_request['result']
    users = json_users.collect{ |user| CodeforcesAPI::Object::User.new(user) }
  end
end

#ratedList(activeOnly = true) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/codeforces_api/client/user.rb', line 15

def ratedList activeOnly = true
  params = {'activeOnly' => activeOnly}
  json_request = CodeforcesAPI.client.get('user.ratedList', params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_users = json_request['result']
    users = json_users.collect{ |user| CodeforcesAPI::Object::User.new(user) }
  end
end

#rating(handle) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/codeforces_api/client/user.rb', line 26

def rating handle
  params = {'handle' => handle}
  json_request = CodeforcesAPI.client.get('user.rating', params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_ratingchanges = json_request['result']
    ratingchanges = json_ratingchanges.collect{ |rc| CodeforcesAPI::Object::RatingChange.new(rc) }
  end
end

#status(handle, optional_params) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/codeforces_api/client/user.rb', line 37

def status handle, optional_params
  required_params = {'handle' => handle}
  json_request = CodeforcesAPI.client.get('user.status', required_params, optional_params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_submissions = json_request['result']
    submissions = json_submissions.collect{ |sub| CodeforcesAPI::Object::Submission.new(sub) }
  end
end