repltalk 0.1.1 → 0.2.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/queries.rb +148 -0
  3. data/lib/repltalk.rb +27 -2
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f693b0e2f8cc3d1bcf1b646f02c8a551053f35b37f42aa5a6849a1cefcb086b
4
- data.tar.gz: 29a598f83669519a169a2b7717e01cb53531b87e7651349e181f59b01558888a
3
+ metadata.gz: 4c29ae54ca39ef4007759029d6fe54038a6be1d78899531f28f125f7e005d1da
4
+ data.tar.gz: 56b3e5523034aa80ceddd37be953e4ce6f41035cf719c2e1e8472ddfd25c1280
5
5
  SHA512:
6
- metadata.gz: 9ec56f08034f1a82e343d4bca650a418ad2fba543e89e9d12ccf7c0d4e9435bffe5856194b4352c8de6cb0f28de22f884135399ba66d9eb5165050a947779481
7
- data.tar.gz: 7fdcd18d242c366c0a249e31e5fb7b20b6e900e2dfeefa0c583772d13d161ebf171414721418179cc2ec63fc18facf0bbdf166843f4ba0e88d0fe9a4ceca1fb3
6
+ metadata.gz: 8583dc5b8e2ea98ae39dc3d1eaa5b8896f9730b877c246a37ef3761c31c3333f259e6e33adf6174dbbf5e8452cc35dfd6f16103bfa8f1cffdbce8259aa960d8b
7
+ data.tar.gz: df881342da9575ddaf044a7bc49ad3846470936fed45815365203d57854c271802108d7db505e5114a260ac13ff6f443b8c088cbf6484d688593517bfb938028
data/lib/queries.rb CHANGED
@@ -303,4 +303,152 @@ class Queries
303
303
  __typename
304
304
  }"
305
305
  end
306
+
307
+ def Queries.get_post
308
+ "query post($id: Int!) {
309
+ post(id: $id) {
310
+ id
311
+ title
312
+ preview(removeMarkdown: true, length: 150)
313
+ body
314
+ isAnnouncement
315
+ url
316
+ isAnswerable
317
+ isHidden
318
+ answeredBy {
319
+ id
320
+ ...PostAnsweredCardUser
321
+ __typename
322
+ }
323
+ answer {
324
+ id
325
+ ...PostAnsweredCardComment
326
+ __typename
327
+ }
328
+ board {
329
+ id
330
+ url
331
+ description
332
+ slug
333
+ __typename
334
+ }
335
+ ...PostDetailPost
336
+ __typename
337
+ }
338
+ }
339
+
340
+ fragment PostDetailPost on Post {
341
+ id
342
+ title
343
+ body
344
+ timeCreated
345
+ canReport
346
+ hasReported
347
+ isAnnouncement
348
+ isPinned
349
+ isLocked
350
+ isHidden
351
+ commentCount
352
+ isAnswered
353
+ isAnswerable
354
+ ...PostVoteControlPost
355
+ user {
356
+ id
357
+ roles {
358
+ id
359
+ name
360
+ key
361
+ tagline
362
+ __typename
363
+ }
364
+ organization {
365
+ id
366
+ name
367
+ __typename
368
+ }
369
+ languages {
370
+ id
371
+ key
372
+ displayName
373
+ tagline
374
+ icon
375
+ __typename
376
+ }
377
+ ...UserPostHeaderUser
378
+ __typename
379
+ }
380
+ repl {
381
+ id
382
+ url
383
+ title
384
+ description
385
+ isPrivate
386
+ isAlwaysOn
387
+ lang {
388
+ id
389
+ icon
390
+ key
391
+ displayName
392
+ tagline
393
+ __typename
394
+ }
395
+ __typename
396
+ }
397
+ board {
398
+ id
399
+ name
400
+ color
401
+ __typename
402
+ }
403
+ __typename
404
+ }
405
+
406
+ fragment PostVoteControlPost on Post {
407
+ id
408
+ voteCount
409
+ canVote
410
+ hasVoted
411
+ __typename
412
+ }
413
+
414
+ fragment UserPostHeaderUser on User {
415
+ id
416
+ image
417
+ isHacker
418
+ isModerator: hasRole(role: MODERATOR)
419
+ isAdmin: hasRole(role: ADMIN)
420
+ ...DepreciatedUserLabelUser
421
+ ...UserLinkUser
422
+ __typename
423
+ }
424
+
425
+ fragment UserLinkUser on User {
426
+ id
427
+ url
428
+ username
429
+ __typename
430
+ }
431
+
432
+ fragment DepreciatedUserLabelUser on User {
433
+ id
434
+ image
435
+ username
436
+ url
437
+ karma
438
+ __typename
439
+ }
440
+
441
+ fragment PostAnsweredCardUser on User {
442
+ id
443
+ username
444
+ ...DepreciatedUserLabelUser
445
+ __typename
446
+ }
447
+
448
+ fragment PostAnsweredCardComment on Comment {
449
+ id
450
+ url
451
+ __typename
452
+ }"
453
+ end
306
454
  end
data/lib/repltalk.rb CHANGED
@@ -16,6 +16,8 @@ class Role
16
16
  end
17
17
  end
18
18
 
19
+
20
+
19
21
  class Organization
20
22
  attr_reader :id, :name
21
23
 
@@ -29,6 +31,8 @@ class Organization
29
31
  end
30
32
  end
31
33
 
34
+
35
+
32
36
  class Language
33
37
  attr_reader :id, :key, :name, :tagline, :icon
34
38
 
@@ -45,6 +49,8 @@ class Language
45
49
  end
46
50
  end
47
51
 
52
+
53
+
48
54
  class Repl
49
55
  attr_reader :id, :url, :title, :description, :language, :is_private, :is_always_on
50
56
 
@@ -64,6 +70,8 @@ class Repl
64
70
  end
65
71
  end
66
72
 
73
+
74
+
67
75
  class Board
68
76
  attr_reader :id, :name, :color
69
77
 
@@ -78,6 +86,8 @@ class Board
78
86
  end
79
87
  end
80
88
 
89
+
90
+
81
91
  class Comment
82
92
  attr_reader :id, :url, :author, :content, :vote_count, :can_vote, :has_voted
83
93
 
@@ -99,8 +109,10 @@ class Comment
99
109
  end
100
110
  end
101
111
 
112
+
113
+
102
114
  class Post
103
- attr_reader :id, :url, :repl, :board, :title, :author, :content, :preview, :timestamp, :vote_count, :comment_count, :can_vote, :has_voted, :is_anwered, :is_answerable, :is_hidden, :is_pinned, :is_locked, :is_announcement
115
+ attr_reader :id, :url, :repl, :board, :title, :author, :content, :preview, :timestamp, :vote_count, :comment_count, :can_vote, :has_voted, :is_answered, :is_answerable, :is_hidden, :is_pinned, :is_locked, :is_announcement
104
116
 
105
117
  def initialize(client, post)
106
118
  @client = client
@@ -136,6 +148,8 @@ class Post
136
148
  end
137
149
  end
138
150
 
151
+
152
+
139
153
  class User
140
154
  attr_reader :id, :username, :name, :pfp, :bio, :cycles, :is_hacker, :roles, :organization, :languages
141
155
 
@@ -187,6 +201,8 @@ class User
187
201
  end
188
202
  end
189
203
 
204
+
205
+
190
206
  class Client
191
207
  attr_writer :sid
192
208
 
@@ -236,6 +252,15 @@ class Client
236
252
  Queries.get_user_by_id,
237
253
  user_id: id
238
254
  )
239
- User.new(u["user"])
255
+ User.new(self, u["user"])
256
+ end
257
+
258
+ def get_post(id)
259
+ p = graphql(
260
+ "post",
261
+ Queries.get_post,
262
+ id: id
263
+ )
264
+ Post.new(self, p["post"])
240
265
  end
241
266
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repltalk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CodingCactus