repltalk 4.0.0 → 4.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/repltalk/client.rb +14 -12
- data/lib/repltalk/graphql.rb +13 -21
- data/lib/repltalk/structures.rb +12 -25
- data/lib/repltalk.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17af54edd0d1552ed38a2f3e971da22cb42eb3540eac53642f2347555284c4b1
|
4
|
+
data.tar.gz: 5a30898e823d5d5959b1fe33e2f6508865f6538982c3e605ef83e9e684b4e52a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fa905a802f5bbba4d8f7c3d0ee403b3d7885d8069e04c4e68e73ed8891b0403c2e2e4880f2a2ec0155325556f31ff3f50abc4109d0086bb0abd1065000005d2
|
7
|
+
data.tar.gz: 0f319ab29a06dbb6424d9cf71cff28dbaba96951ab537f5f6a5819e4988dc26f734f5b27a3df71aab22307c756ef4fc3a7a9c8ebbbf0e491182d28c846dda9e2
|
data/lib/repltalk/client.rb
CHANGED
@@ -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)
|
@@ -132,18 +132,19 @@ module ReplTalk
|
|
132
132
|
u["leaderboard"]["items"].map { |user| LeaderboardUser.new(self, user) }
|
133
133
|
end
|
134
134
|
|
135
|
-
def get_posts(board: "all", order: "
|
135
|
+
def get_posts(board: "all", order: "New", count: nil, after: nil, search: nil)
|
136
136
|
p = graphql(
|
137
|
-
"
|
137
|
+
"ReplPostsFeed",
|
138
138
|
GQL::Queries::GET_POSTS,
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
139
|
+
options: {
|
140
|
+
boardSlugs: [board],
|
141
|
+
order: order,
|
142
|
+
count: count,
|
143
|
+
after: after,
|
144
|
+
searchQuery: search
|
145
|
+
}
|
145
146
|
)
|
146
|
-
p["
|
147
|
+
p["replPosts"]["items"].map { |post| Post.new(self, post) }
|
147
148
|
end
|
148
149
|
|
149
150
|
def get_explore_featured_repls
|
@@ -154,10 +155,11 @@ module ReplTalk
|
|
154
155
|
r["featuredRepls"].map { |repl| Repl.new(self, repl) }
|
155
156
|
end
|
156
157
|
|
157
|
-
def get_trending_tags
|
158
|
+
def get_trending_tags(count: nil)
|
158
159
|
t = graphql(
|
159
160
|
"ExploreFeed",
|
160
|
-
GQL::Queries::GET_TRENDING_TAGS
|
161
|
+
GQL::Queries::GET_TRENDING_TAGS,
|
162
|
+
count: count
|
161
163
|
)
|
162
164
|
t["trendingTagsFeed"]["initialTags"].map { |tag| Tag.new(self, tag) }
|
163
165
|
end
|
data/lib/repltalk/graphql.rb
CHANGED
@@ -8,16 +8,6 @@ module ReplTalk
|
|
8
8
|
tagline
|
9
9
|
"
|
10
10
|
|
11
|
-
ORGANIZATION = "
|
12
|
-
id
|
13
|
-
name
|
14
|
-
country
|
15
|
-
postalCode
|
16
|
-
state
|
17
|
-
city
|
18
|
-
timeCreated
|
19
|
-
"
|
20
|
-
|
21
11
|
LANGUAGE = "
|
22
12
|
id
|
23
13
|
key
|
@@ -46,9 +36,6 @@ module ReplTalk
|
|
46
36
|
roles {
|
47
37
|
#{ROLES}
|
48
38
|
}
|
49
|
-
organization {
|
50
|
-
#{ORGANIZATION}
|
51
|
-
}
|
52
39
|
languages {
|
53
40
|
#{LANGUAGE}
|
54
41
|
}
|
@@ -139,7 +126,7 @@ module ReplTalk
|
|
139
126
|
isAnnouncement
|
140
127
|
timeCreated
|
141
128
|
isAnswered
|
142
|
-
isAnswerable
|
129
|
+
isAnswerable
|
143
130
|
voteCount
|
144
131
|
canVote
|
145
132
|
hasVoted
|
@@ -149,6 +136,9 @@ module ReplTalk
|
|
149
136
|
repl {
|
150
137
|
#{REPL}
|
151
138
|
}
|
139
|
+
replComment {
|
140
|
+
#{REPL_COMMENT}
|
141
|
+
}
|
152
142
|
board {
|
153
143
|
#{BOARD}
|
154
144
|
}
|
@@ -343,8 +333,8 @@ module ReplTalk
|
|
343
333
|
"
|
344
334
|
|
345
335
|
GET_POSTS = "
|
346
|
-
query
|
347
|
-
|
336
|
+
query ReplPostsFeed($options: ReplPostsQueryOptions) {
|
337
|
+
replPosts(options: $options) {
|
348
338
|
items {
|
349
339
|
#{Fields::POST}
|
350
340
|
}
|
@@ -380,17 +370,19 @@ module ReplTalk
|
|
380
370
|
"
|
381
371
|
|
382
372
|
GET_TRENDING_TAGS = "
|
383
|
-
query
|
384
|
-
|
385
|
-
|
373
|
+
query ExploreFeed($count: Int) {
|
374
|
+
trendingTagsFeed(initialTagsCount: $count) {
|
375
|
+
initialTags {
|
376
|
+
#{Fields::TAG}
|
377
|
+
}
|
386
378
|
}
|
387
379
|
}
|
388
380
|
"
|
389
381
|
|
390
382
|
GET_TAGS_REPLS = "
|
391
|
-
query ExploreTrendingRepls($tag: String!, $after: String) {
|
383
|
+
query ExploreTrendingRepls($tag: String!, $count: Int, $after: String) {
|
392
384
|
tag(id: $tag) {
|
393
|
-
repls(after: $after) {
|
385
|
+
repls(limit: $count, after: $after) {
|
394
386
|
items {
|
395
387
|
#{Fields::REPL}
|
396
388
|
}
|
data/lib/repltalk/structures.rb
CHANGED
@@ -18,26 +18,6 @@ module ReplTalk
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
class Organization
|
22
|
-
attr_reader :id, :name, :country, :postal_code, :state, :city, :timestamp
|
23
|
-
|
24
|
-
def initialize(organization)
|
25
|
-
@id = organization["id"]
|
26
|
-
@name = organization["name"]
|
27
|
-
@country = organization["country"]
|
28
|
-
@postal_code = organization["postalCode"]
|
29
|
-
@state = organization["state"]
|
30
|
-
@city = organization["city"]
|
31
|
-
@timestamp = organization["timeCreated"]
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_s
|
35
|
-
@name
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
|
41
21
|
class Language
|
42
22
|
attr_reader :id, :key, :name, :tagline, :icon, :category
|
43
23
|
|
@@ -87,11 +67,12 @@ module ReplTalk
|
|
87
67
|
@repls_tagged_today_count = tag["replsTaggedTodayCount"]
|
88
68
|
end
|
89
69
|
|
90
|
-
def get_repls(after: nil)
|
70
|
+
def get_repls(count: nil, after: nil)
|
91
71
|
r = @client.graphql(
|
92
72
|
"ExploreTrendingRepls",
|
93
73
|
GQL::Queries::GET_TAGS_REPLS,
|
94
74
|
tag: @id,
|
75
|
+
count: count,
|
95
76
|
after: after
|
96
77
|
)
|
97
78
|
r["tag"]["repls"]["items"].map { |repl| Repl.new(@client, repl) }
|
@@ -405,14 +386,21 @@ module ReplTalk
|
|
405
386
|
@id = post["id"]
|
406
387
|
@url = $BASE_URL + post["url"]
|
407
388
|
@title = post["title"]
|
408
|
-
@content = post["body"]
|
409
|
-
@preview = post["preview"]
|
410
389
|
@timestamp = post["timeCreated"]
|
411
390
|
|
412
391
|
@board = Board.new(post["board"])
|
413
392
|
@repl = post["repl"] == nil ? nil : Repl.new(@client, post["repl"])
|
414
393
|
@author = post["user"] == nil ? nil : User.new(@client, post["user"])
|
415
394
|
@answer = post["answer"] == nil ? nil : Comment.new(@client, post["answer"])
|
395
|
+
|
396
|
+
@content = post["body"]
|
397
|
+
@preview = post["preview"]
|
398
|
+
|
399
|
+
if @content == "" # new post type
|
400
|
+
@url = "#{@repl.url}?c=#{post["replComment"]["id"]}"
|
401
|
+
@content = post["replComment"]["body"]
|
402
|
+
@preview = @content.length > 150 ? @content[0..150] : @content
|
403
|
+
end
|
416
404
|
|
417
405
|
@vote_count = post["voteCount"]
|
418
406
|
@comment_count = post["commentCount"]
|
@@ -505,7 +493,7 @@ module ReplTalk
|
|
505
493
|
|
506
494
|
|
507
495
|
class User
|
508
|
-
attr_reader :id, :username, :name, :pfp, :bio, :cycles, :is_hacker, :timestamp, :subscription, :roles, :
|
496
|
+
attr_reader :id, :username, :name, :pfp, :bio, :cycles, :is_hacker, :timestamp, :subscription, :roles, :languages
|
509
497
|
|
510
498
|
def initialize(client, user)
|
511
499
|
return nil if user == nil
|
@@ -520,7 +508,6 @@ module ReplTalk
|
|
520
508
|
@is_hacker = user["isHacker"]
|
521
509
|
@timestamp = user["timeCreated"]
|
522
510
|
@roles = user["roles"].map { |role| Role.new(role) }
|
523
|
-
@organization = user["organization"] == nil ? nil : Organization.new(user["organization"])
|
524
511
|
@languages = user["languages"].map { |lang| Language.new(lang) }
|
525
512
|
end
|
526
513
|
|
data/lib/repltalk.rb
CHANGED
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.
|
4
|
+
version: 4.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CodingCactus
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|