repltalk 4.0.0 → 4.1.2
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 +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
|