repltalk 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/queries.rb +11 -0
  3. data/lib/repltalk.rb +22 -0
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4becb6db34fded69130f61fe1c0bee4eadd9d9aa2e1e832c48f84a51e48f013d
4
- data.tar.gz: 348eb30ee7f72b57de14f7a3edcd6b99d0c4b48bee827e29e540e30aaafbb4c9
3
+ metadata.gz: 025f94f3a39675c567cfe0e77c1ca050c5ef87a66b3916be2413e1a036b97b1e
4
+ data.tar.gz: c9aa80154d299ebda053fe9e2eadd156fcd30450b942ccb87078cbef6eacb1f2
5
5
  SHA512:
6
- metadata.gz: 62fc89da26c4217cdddc3f6c7f472197480f32173d83137189219566b27fe9bdf1559ae77f32df43e43dffd46741cd1a02d582f3f487ab68520f729f0a396536
7
- data.tar.gz: 899726ce8b541957128993cff59183a8945d4173b5daf02e18fbdb07d38b888d6dbe3132f463471a9793b7a99fe9b63dd611fb3b3c112f776c08ef22fbbd3319
6
+ metadata.gz: e1ac924dd87ae0ad5476947f966f2e972fd73211c84367681036f06689cbd2a0e9c9755f06e82bf1f8fd5c2cd83b11e8a3c323135e223576b688438077877c04
7
+ data.tar.gz: e5634a2b2b98134cfa27b1f6ffbde80be6e77221278ff5d30b02a338b30950416b3a66c0c11700f1ba582d20c797cb1b324f59e2cc04eeeee07c0f7ef2709e11
data/lib/queries.rb CHANGED
@@ -286,4 +286,15 @@ class Queries
286
286
  }
287
287
  }"
288
288
  end
289
+
290
+ def Queries.get_leaderboard
291
+ "query LeaderboardQuery($count: Int, $after: String, $since: KarmaSince) {
292
+ leaderboard(count: $count, after: $after, since: $since) {
293
+ items {
294
+ #{@@user}
295
+ karmaSince: karma(since: $since)
296
+ }
297
+ }
298
+ }"
299
+ end
289
300
  end
data/lib/repltalk.rb CHANGED
@@ -317,6 +317,17 @@ end
317
317
 
318
318
 
319
319
 
320
+ class LeaderboardUser < User
321
+ attr_reader :cycles_since
322
+
323
+ def initialize(client, user)
324
+ super(client, user)
325
+ @cycles_since = user["karmaSince"]
326
+ end
327
+ end
328
+
329
+
330
+
320
331
  class Client
321
332
  attr_writer :sid
322
333
 
@@ -399,6 +410,17 @@ class Client
399
410
  )
400
411
  Repl.new(self, r["repl"])
401
412
  end
413
+
414
+ def get_leaderboard(count: nil, since: nil, after: nil)
415
+ u = graphql(
416
+ "LeaderboardQuery",
417
+ Queries.get_leaderboard,
418
+ count: count,
419
+ since: since,
420
+ after: after
421
+ )
422
+ u["leaderboard"]["items"].map { |user| LeaderboardUser.new(self, user) }
423
+ end
402
424
 
403
425
  def get_posts(board: "all", order: "new", count: nil, after: nil, search: nil, languages: nil)
404
426
  p = graphql(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repltalk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - CodingCactus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http