repltalk 4.1.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87b86adfe3aef99370ce5a11bfe9648b52bb987c3f9fd35b929ac811720e48c4
4
- data.tar.gz: acf36ed1601688e319397fed44c32287a00a869daac2258b58f17d92d165abbf
3
+ metadata.gz: 9281c577f7967d08b5046b1f61a4c6cc506c18ce393604e0a8446d448471982c
4
+ data.tar.gz: da4370aaac2488e2b2e64b7f02e617d27198797c8f615b675dc014fb36a9198f
5
5
  SHA512:
6
- metadata.gz: b2ed218280a34de49368f3761a56a37506dafa50c83f0942e6a1b5ea2907b73d367f5a67e1f1d6034c4869b3fd0bcab5e5a5dd78ea1d90e43a1adae4ca902099
7
- data.tar.gz: 6d62a0d0989c0456235f61b6cf7ed2f5abe0bb23036de7526e325b82eaf8f99cc337fe45523e1cb9a5dcc78a6ed9804f63e6eaa4fe56d84c9b68930e8ff05d57
6
+ metadata.gz: d4bea1b18a212ffcf6a1ef74b66cdcb8dfc72739d17b053d0c5882ec5e103298307c845fd33b1d78a3c739cb954234d6cd6e05279b3ca08b653e40e28934f26c
7
+ data.tar.gz: 603ec6085baad54772ae1fd456ea80e8789ad6d49e0e9ca39b1cf5bb79ce2077fe4721c33e0dd5149acc8624a3d229da3c212d83d628842397a429fbe4d5ac99
@@ -24,7 +24,7 @@ module ReplTalk
24
24
  "X-Requested-With": "ReplTalk"
25
25
  )
26
26
  .post(
27
- "#{$BASE_URL}/graphql",
27
+ "#{$BASE_URL}/graphql",
28
28
  form: payload
29
29
  )
30
30
  begin data = JSON.parse(r)
@@ -120,25 +120,14 @@ module ReplTalk
120
120
  return nil if b == nil || b["board"] == nil
121
121
  Board.new(b["board"])
122
122
  end
123
-
124
- def get_leaderboard(count: nil, since: nil, after: nil)
125
- u = graphql(
126
- "LeaderboardQuery",
127
- GQL::Queries::GET_LEADERBOARD,
128
- count: count,
129
- since: since,
130
- after: after
131
- )
132
- u["leaderboard"]["items"].map { |user| LeaderboardUser.new(self, user) }
133
- end
134
123
 
135
- def get_posts(board: "all", order: "New", count: nil, after: nil, search: nil)
124
+ def get_posts(board: "all", order: "new", count: nil, after: nil, search: nil)
136
125
  p = graphql(
137
126
  "ReplPostsFeed",
138
127
  GQL::Queries::GET_POSTS,
139
128
  options: {
140
129
  boardSlugs: [board],
141
- order: order,
130
+ order: order.capitalize,
142
131
  count: count,
143
132
  after: after,
144
133
  searchQuery: search
@@ -126,7 +126,7 @@ module ReplTalk
126
126
  isAnnouncement
127
127
  timeCreated
128
128
  isAnswered
129
- isAnswerable
129
+ isAnswerable
130
130
  voteCount
131
131
  canVote
132
132
  hasVoted
@@ -136,6 +136,9 @@ module ReplTalk
136
136
  repl {
137
137
  #{REPL}
138
138
  }
139
+ replComment {
140
+ #{REPL_COMMENT}
141
+ }
139
142
  board {
140
143
  #{BOARD}
141
144
  }
@@ -339,17 +342,6 @@ module ReplTalk
339
342
  }
340
343
  "
341
344
 
342
- GET_LEADERBOARD = "
343
- query LeaderboardQuery($count: Int, $after: String, $since: KarmaSince) {
344
- leaderboard(count: $count, after: $after, since: $since) {
345
- items {
346
- #{Fields::USER}
347
- karmaSince: karma(since: $since)
348
- }
349
- }
350
- }
351
- "
352
-
353
345
  GET_EXPLORE_FEATURED_REPLS = "
354
346
  query ExploreFeaturedRepls {
355
347
  featuredRepls {
@@ -166,7 +166,7 @@ module ReplTalk
166
166
  @url = $BASE_URL + repl["url"]
167
167
  @title = repl["title"]
168
168
  @author = User.new(@client, repl["user"])
169
- @description = repl["description"]
169
+ @description = repl["description"].to_s
170
170
  @timestamp = repl["timeCreated"]
171
171
  @size = repl["size"]
172
172
  @run_count = repl["runCount"]
@@ -380,20 +380,33 @@ module ReplTalk
380
380
  class Post
381
381
  attr_reader :id, :url, :repl, :board, :title, :author, :answer, :content, :preview, :timestamp, :vote_count, :comment_count, :can_vote, :has_voted, :is_answered, :is_answerable, :is_hidden, :is_pinned, :is_locked, :is_announcement
382
382
 
383
- def initialize(client, post)
383
+ def initialize(client, post)
384
384
  @client = client
385
385
 
386
386
  @id = post["id"]
387
387
  @url = $BASE_URL + post["url"]
388
388
  @title = post["title"]
389
- @content = post["body"]
390
- @preview = post["preview"]
391
389
  @timestamp = post["timeCreated"]
392
390
 
393
- @board = Board.new(post["board"])
391
+ @board = post["board"].nil? ? nil : Board.new(post["board"])
394
392
  @repl = post["repl"] == nil ? nil : Repl.new(@client, post["repl"])
395
393
  @author = post["user"] == nil ? nil : User.new(@client, post["user"])
396
394
  @answer = post["answer"] == nil ? nil : Comment.new(@client, post["answer"])
395
+
396
+ @content = post["body"]
397
+ @preview = post["preview"]
398
+
399
+ if @content == "" && @repl != nil # new post type
400
+ if post["replComment"].nil? # no post attached
401
+ @url = @repl.url
402
+ @title = @repl.title
403
+ @content = @repl.description
404
+ else # post attached
405
+ @url = "#{@repl.url}?c=#{post["replComment"]["id"]}"
406
+ @content = post["replComment"]["body"]
407
+ end
408
+ @preview = @content.length > 150 ? @content[0..150] : @content
409
+ end
397
410
 
398
411
  @vote_count = post["voteCount"]
399
412
  @comment_count = post["commentCount"]
@@ -548,15 +561,4 @@ module ReplTalk
548
561
  @username
549
562
  end
550
563
  end
551
-
552
-
553
-
554
- class LeaderboardUser < User
555
- attr_reader :cycles_since
556
-
557
- def initialize(client, user)
558
- super(client, user)
559
- @cycles_since = user["karmaSince"]
560
- end
561
- end
562
564
  end
data/lib/repltalk.rb CHANGED
@@ -4,5 +4,5 @@ require_relative "repltalk/structures"
4
4
 
5
5
  module ReplTalk
6
6
  $BASE_URL = "https://replit.com"
7
- VERSION = "4.1.0"
7
+ VERSION = "4.3.0"
8
8
  end
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: 4.1.0
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CodingCactus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-22 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http