Class: CodeforcesAPI::MethodClass::ProblemSet

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

Instance Method Summary collapse

Instance Method Details

#problems(*tags) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/codeforces_api/client/problemset.rb', line 4

def problems *tags
  params = {'tags' => tags.join(';')}
  json_request = CodeforcesAPI.client.get('problemset.problems', params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_result = json_request['result']
    json_problems = json_result['problems']
    json_problemstatistics = json_result['problemStatistics']

    {
      'problems' => json_problems.collect{ |p| CodeforcesAPI::Object::Problem.new(p) },
      'problemStatistics' => json_problemstatistics.collect{ |ps| CodeforcesAPI::Object::ProblemStatistics.new(ps) },
    }
  end
end

#recentStatus(count) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/codeforces_api/client/problemset.rb', line 21

def recentStatus count
  params = {'count' => count}
  json_request = CodeforcesAPI.client.get('problemset.recentStatus', params)
  if json_request['status'] != 'OK'
    raise json_request['result']
  else
    json_sumbissions = json_request['result']
    submissions = json_sumbissions.collect{ |sub| CodeforcesAPI::Object::Submission.new(sub) }
  end
end