repltalk 1.4.0 → 2.0.5
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/queries.rb +56 -2
- data/lib/repltalk.rb +84 -21
- 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: 021bec9878ab43bc85c7c1ef8fb628c34cece2c8643559b2969b955e13694f1a
         | 
| 4 | 
            +
              data.tar.gz: 519b81ab0f69d8b8f0289ecb85de62bfb5fb4a674f5574e70b5868d98882ef07
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0ff92dcc8ce300ab5c84c0753f51bb8788b695c4da858ec58f9abbf6d11f92f287589a49a36bf2bb346845ffe3d8f954b4113181718b57c86056ff9cb85eca40
         | 
| 7 | 
            +
              data.tar.gz: fe44468b7671355bdc1b143e9b032472a6715c2b40ebce9a02fbfb0bc1f4d8fe381cc80c5523f59483683465e5b68081352416b738b75741dbfea834a2c9608d
         | 
    
        data/lib/queries.rb
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            class  | 
| 1 | 
            +
            class Fields
         | 
| 2 2 | 
             
            	@@roles = "
         | 
| 3 3 | 
             
            		id
         | 
| 4 4 | 
             
            		name
         | 
| @@ -67,6 +67,7 @@ class Queries | |
| 67 67 | 
             
            		url
         | 
| 68 68 | 
             
            		title
         | 
| 69 69 | 
             
            		description
         | 
| 70 | 
            +
            		timeCreated
         | 
| 70 71 | 
             
            		size
         | 
| 71 72 | 
             
            		imageUrl
         | 
| 72 73 | 
             
            		isPrivate
         | 
| @@ -141,8 +142,10 @@ class Queries | |
| 141 142 | 
             
            			#{@@comment}
         | 
| 142 143 | 
             
            		}
         | 
| 143 144 | 
             
            	"
         | 
| 145 | 
            +
            end
         | 
| 144 146 |  | 
| 145 147 |  | 
| 148 | 
            +
            class Queries < Fields
         | 
| 146 149 | 
             
            	def Queries.get_user
         | 
| 147 150 | 
             
            		"query userByUsername($username: String!) {
         | 
| 148 151 | 
             
            			user: userByUsername(username: $username) {
         | 
| @@ -298,6 +301,17 @@ class Queries | |
| 298 301 | 
             
            		}"
         | 
| 299 302 | 
             
            	end
         | 
| 300 303 |  | 
| 304 | 
            +
            	def Queries.get_repl_comment
         | 
| 305 | 
            +
            		"query ReplViewComment($id: Int!) {
         | 
| 306 | 
            +
            			replComment(id: $id) {
         | 
| 307 | 
            +
            				... on ReplComment {
         | 
| 308 | 
            +
            						#{@@repl_comment}
         | 
| 309 | 
            +
            				}
         | 
| 310 | 
            +
            			}
         | 
| 311 | 
            +
            		}"
         | 
| 312 | 
            +
            	end
         | 
| 313 | 
            +
             | 
| 314 | 
            +
             | 
| 301 315 | 
             
            	def Queries.get_board
         | 
| 302 316 | 
             
            		"query boardBySlug($slug: String!) {
         | 
| 303 317 | 
             
            			board: boardBySlug(slug: $slug) {
         | 
| @@ -329,7 +343,7 @@ class Queries | |
| 329 343 | 
             
            end
         | 
| 330 344 |  | 
| 331 345 |  | 
| 332 | 
            -
            class Mutations <  | 
| 346 | 
            +
            class Mutations < Fields
         | 
| 333 347 | 
             
            	def Mutations.create_post
         | 
| 334 348 | 
             
            		"mutation createPost($input: CreatePostInput!) {
         | 
| 335 349 | 
             
            			createPost(input: $input) {
         | 
| @@ -387,6 +401,46 @@ class Mutations < Queries | |
| 387 401 | 
             
            		}"
         | 
| 388 402 | 
             
            	end
         | 
| 389 403 |  | 
| 404 | 
            +
            	def Mutations.create_repl_comment
         | 
| 405 | 
            +
            		"mutation ReplViewCreateReplComment($input: CreateReplCommentInput!) {
         | 
| 406 | 
            +
            			createReplComment(input: $input) {
         | 
| 407 | 
            +
            				... on ReplComment {
         | 
| 408 | 
            +
            					#{@@repl_comment}
         | 
| 409 | 
            +
            				}
         | 
| 410 | 
            +
            			}
         | 
| 411 | 
            +
            		}"
         | 
| 412 | 
            +
            	end
         | 
| 413 | 
            +
             | 
| 414 | 
            +
            	def Mutations.reply_repl_comment
         | 
| 415 | 
            +
            		"mutation ReplViewCreateReplCommentReply($input: CreateReplCommentReplyInput!) {
         | 
| 416 | 
            +
            			createReplCommentReply(input: $input) {
         | 
| 417 | 
            +
            				... on ReplComment {
         | 
| 418 | 
            +
            					#{@@repl_comment}
         | 
| 419 | 
            +
            				}
         | 
| 420 | 
            +
            			}
         | 
| 421 | 
            +
            		}"
         | 
| 422 | 
            +
            	end
         | 
| 423 | 
            +
             | 
| 424 | 
            +
            	def Mutations.edit_repl_comment
         | 
| 425 | 
            +
            		"mutation ReplViewCommentsUpdateReplComment($input: UpdateReplCommentInput!) {
         | 
| 426 | 
            +
            			updateReplComment(input: $input) {
         | 
| 427 | 
            +
            				... on ReplComment {
         | 
| 428 | 
            +
            					#{@@repl_comment}
         | 
| 429 | 
            +
            				}
         | 
| 430 | 
            +
            			}
         | 
| 431 | 
            +
            		}"
         | 
| 432 | 
            +
            	end
         | 
| 433 | 
            +
             | 
| 434 | 
            +
            	def Mutations.delete_repl_comment
         | 
| 435 | 
            +
            		"mutation ReplViewCommentsDeleteReplComment($id: Int!) {
         | 
| 436 | 
            +
            			deleteReplComment(id: $id) {
         | 
| 437 | 
            +
            				... on ReplComment {
         | 
| 438 | 
            +
            					id
         | 
| 439 | 
            +
            				}
         | 
| 440 | 
            +
            			}
         | 
| 441 | 
            +
            		}"
         | 
| 442 | 
            +
            end
         | 
| 443 | 
            +
             | 
| 390 444 | 
             
            	def Mutations.report_post
         | 
| 391 445 | 
             
            		"mutation createBoardReport($id: Int!, $reason: String!) {
         | 
| 392 446 | 
             
            			createBoardReport(postId: $id, reason: $reason) {
         | 
    
        data/lib/repltalk.rb
    CHANGED
    
    | @@ -76,6 +76,23 @@ end | |
| 76 76 |  | 
| 77 77 |  | 
| 78 78 |  | 
| 79 | 
            +
            class Board
         | 
| 80 | 
            +
            	attr_reader :id, :name, :color, :description
         | 
| 81 | 
            +
             | 
| 82 | 
            +
            	def initialize(board)
         | 
| 83 | 
            +
            		@id = board["id"]
         | 
| 84 | 
            +
            		@name = board["name"]
         | 
| 85 | 
            +
            		@color = board["color"]
         | 
| 86 | 
            +
            		@description = board["description"]
         | 
| 87 | 
            +
            	end
         | 
| 88 | 
            +
             | 
| 89 | 
            +
            	def to_s
         | 
| 90 | 
            +
            		@name
         | 
| 91 | 
            +
            	end
         | 
| 92 | 
            +
            end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
             | 
| 95 | 
            +
             | 
| 79 96 | 
             
            class ReplComment
         | 
| 80 97 | 
             
            	attr_reader :id, :content, :author, :repl, :replies
         | 
| 81 98 |  | 
| @@ -84,11 +101,44 @@ class ReplComment | |
| 84 101 |  | 
| 85 102 | 
             
            		@id = comment["id"]
         | 
| 86 103 | 
             
            		@content = comment["body"]
         | 
| 87 | 
            -
            		@author = comment["user"] == nil ?  | 
| 88 | 
            -
            		@repl = Repl.new(@client, comment["repl"])
         | 
| 104 | 
            +
            		@author = comment["user"] == nil ? nil : User.new(@client, comment["user"])
         | 
| 105 | 
            +
            		@repl = comment["repl"] == nil ? nil : Repl.new(@client, comment["repl"])
         | 
| 89 106 | 
             
            		@replies = comment["replies"] == nil ? nil : comment["replies"].map { |c| ReplComment.new(@client, c) }
         | 
| 90 107 | 
             
            	end
         | 
| 91 108 |  | 
| 109 | 
            +
            	def create_comment(content)
         | 
| 110 | 
            +
            		c = @client.graphql(
         | 
| 111 | 
            +
            			"ReplViewCreateReplCommentReply",
         | 
| 112 | 
            +
            			Mutations.reply_repl_comment,
         | 
| 113 | 
            +
            			input: {
         | 
| 114 | 
            +
            				replCommentId: @id,
         | 
| 115 | 
            +
            				body: content
         | 
| 116 | 
            +
            			}
         | 
| 117 | 
            +
            		)
         | 
| 118 | 
            +
            		ReplComment.new(@client, c["createReplCommentReply"])
         | 
| 119 | 
            +
            	end
         | 
| 120 | 
            +
             | 
| 121 | 
            +
            	def edit(content)
         | 
| 122 | 
            +
            		c = @client.graphql(
         | 
| 123 | 
            +
            			"ReplViewCommentsUpdateReplComment",
         | 
| 124 | 
            +
            			Mutations.edit_repl_comment,
         | 
| 125 | 
            +
            			input: {
         | 
| 126 | 
            +
            				id: @id,
         | 
| 127 | 
            +
            				body: content
         | 
| 128 | 
            +
            			}
         | 
| 129 | 
            +
            		)
         | 
| 130 | 
            +
            		ReplComment.new(@client, c["updateReplComment"])
         | 
| 131 | 
            +
            	end
         | 
| 132 | 
            +
             | 
| 133 | 
            +
            	def delete
         | 
| 134 | 
            +
            		@client.graphql(
         | 
| 135 | 
            +
            			"ReplViewCommentsDeleteReplComment",
         | 
| 136 | 
            +
            			Mutations.delete_repl_comment,
         | 
| 137 | 
            +
            			id: @id
         | 
| 138 | 
            +
            		)
         | 
| 139 | 
            +
            		nil
         | 
| 140 | 
            +
            	end
         | 
| 141 | 
            +
             | 
| 92 142 | 
             
            	def to_s
         | 
| 93 143 | 
             
            		@content
         | 
| 94 144 | 
             
            	end
         | 
| @@ -97,7 +147,7 @@ end | |
| 97 147 |  | 
| 98 148 |  | 
| 99 149 | 
             
            class Repl
         | 
| 100 | 
            -
            	attr_reader :id, :url, :title, :author, :description, :size, :language, :img_url, :origin_url, :is_private, :is_always_on
         | 
| 150 | 
            +
            	attr_reader :id, :url, :title, :author, :description, :timestamp, :size, :language, :img_url, :origin_url, :is_private, :is_always_on
         | 
| 101 151 |  | 
| 102 152 | 
             
            	def initialize(client, repl)
         | 
| 103 153 | 
             
            		@client = client
         | 
| @@ -107,6 +157,7 @@ class Repl | |
| 107 157 | 
             
            		@title = repl["title"]
         | 
| 108 158 | 
             
            		@author = User.new(@client, repl["user"])
         | 
| 109 159 | 
             
            		@description = repl["description"]
         | 
| 160 | 
            +
            		@timestamp = repl["timeCreated"]
         | 
| 110 161 | 
             
            		@size = repl["size"]
         | 
| 111 162 | 
             
            		@language = Language.new(repl["lang"])
         | 
| 112 163 | 
             
            		@image_url = repl["imageUrl"]
         | 
| @@ -138,25 +189,20 @@ class Repl | |
| 138 189 | 
             
            		c["repl"]["comments"]["items"].map { |comment| ReplComment.new(@client, comment) }
         | 
| 139 190 | 
             
            	end
         | 
| 140 191 |  | 
| 141 | 
            -
            	def  | 
| 142 | 
            -
            		@ | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
            	def initialize(board)
         | 
| 152 | 
            -
            		@id = board["id"]
         | 
| 153 | 
            -
            		@name = board["name"]
         | 
| 154 | 
            -
            		@color = board["color"]
         | 
| 155 | 
            -
            		@description = board["description"]
         | 
| 192 | 
            +
            	def create_comment(content)
         | 
| 193 | 
            +
            		c = @client.graphql(
         | 
| 194 | 
            +
            			"ReplViewCreateReplComment",
         | 
| 195 | 
            +
            			Mutations.create_repl_comment,
         | 
| 196 | 
            +
            			input: {
         | 
| 197 | 
            +
            				replId: @id,
         | 
| 198 | 
            +
            				body: content
         | 
| 199 | 
            +
            			}
         | 
| 200 | 
            +
            		)
         | 
| 201 | 
            +
            		ReplComment.new(@client, c["createReplComment"])
         | 
| 156 202 | 
             
            	end
         | 
| 157 203 |  | 
| 158 204 | 
             
            	def to_s
         | 
| 159 | 
            -
            		@ | 
| 205 | 
            +
            		@title
         | 
| 160 206 | 
             
            	end
         | 
| 161 207 | 
             
            end
         | 
| 162 208 |  | 
| @@ -274,7 +320,7 @@ class Post | |
| 274 320 |  | 
| 275 321 | 
             
            		@board = Board.new(post["board"])
         | 
| 276 322 | 
             
            		@repl = post["repl"] == nil ? nil : Repl.new(@client, post["repl"])
         | 
| 277 | 
            -
            		@author = post["user"] == nil ?  | 
| 323 | 
            +
            		@author = post["user"] == nil ? nil : User.new(@client, post["user"])
         | 
| 278 324 | 
             
            		@answer = post["answer"] == nil ? nil : Comment.new(@client, post["answer"])
         | 
| 279 325 |  | 
| 280 326 | 
             
            		@vote_count = post["voteCount"]
         | 
| @@ -371,6 +417,7 @@ class User | |
| 371 417 | 
             
            	attr_reader :id, :username, :name, :pfp, :bio, :cycles, :is_hacker, :timestamp, :subscription, :roles, :organization, :languages
         | 
| 372 418 |  | 
| 373 419 | 
             
            	def initialize(client, user)
         | 
| 420 | 
            +
            		return nil if user == nil
         | 
| 374 421 | 
             
            		@client = client
         | 
| 375 422 |  | 
| 376 423 | 
             
            		@id = user["id"]
         | 
| @@ -489,6 +536,7 @@ class Client | |
| 489 536 | 
             
            			Queries.get_user,
         | 
| 490 537 | 
             
            			username: name
         | 
| 491 538 | 
             
            		)
         | 
| 539 | 
            +
            		return nil if u == nil || u["user"] == nil
         | 
| 492 540 | 
             
            		User.new(self, u["user"])
         | 
| 493 541 | 
             
            	end
         | 
| 494 542 |  | 
| @@ -498,6 +546,7 @@ class Client | |
| 498 546 | 
             
            			Queries.get_user_by_id,
         | 
| 499 547 | 
             
            			user_id: id
         | 
| 500 548 | 
             
            		)
         | 
| 549 | 
            +
            		return nil if u == nil || u["user"] == nil
         | 
| 501 550 | 
             
            		User.new(self, u["user"])
         | 
| 502 551 | 
             
            	end
         | 
| 503 552 |  | 
| @@ -507,6 +556,7 @@ class Client | |
| 507 556 | 
             
            			Queries.get_post,
         | 
| 508 557 | 
             
            			id: id
         | 
| 509 558 | 
             
            		)
         | 
| 559 | 
            +
            		return nil if p == nil || p["post"] == nil
         | 
| 510 560 | 
             
            		Post.new(self, p["post"])
         | 
| 511 561 | 
             
            	end
         | 
| 512 562 |  | 
| @@ -516,6 +566,7 @@ class Client | |
| 516 566 | 
             
            			Queries.get_comment,
         | 
| 517 567 | 
             
            			id: id
         | 
| 518 568 | 
             
            		)
         | 
| 569 | 
            +
            		return nil if c == nil || c["comment"] == nil
         | 
| 519 570 | 
             
            		Comment.new(self, c["comment"])
         | 
| 520 571 | 
             
            	end
         | 
| 521 572 |  | 
| @@ -525,15 +576,27 @@ class Client | |
| 525 576 | 
             
            			Queries.get_repl,
         | 
| 526 577 | 
             
            			url: url
         | 
| 527 578 | 
             
            		)
         | 
| 579 | 
            +
            		return nil if  r == nil || r["repl"] == nil
         | 
| 528 580 | 
             
            		Repl.new(self, r["repl"])
         | 
| 529 581 | 
             
            	end
         | 
| 530 582 |  | 
| 583 | 
            +
            	def get_repl_comment(id)
         | 
| 584 | 
            +
            		c = graphql(
         | 
| 585 | 
            +
            			"ReplViewComment",
         | 
| 586 | 
            +
            			Queries.get_repl_comment,
         | 
| 587 | 
            +
            			id: id
         | 
| 588 | 
            +
            		)
         | 
| 589 | 
            +
            		return nil if c == nil || c["replComment"] == nil
         | 
| 590 | 
            +
            		ReplComment.new(self, c["replComment"])
         | 
| 591 | 
            +
            	end
         | 
| 592 | 
            +
             | 
| 531 593 | 
             
            	def get_board(name)
         | 
| 532 594 | 
             
            		b = graphql(
         | 
| 533 595 | 
             
            			"boardBySlug",
         | 
| 534 596 | 
             
            			Queries.get_board,
         | 
| 535 597 | 
             
            			slug: name
         | 
| 536 598 | 
             
            		)
         | 
| 599 | 
            +
            		return nil if b == nil || b["board"] == nil
         | 
| 537 600 | 
             
            		Board.new(b["board"])
         | 
| 538 601 | 
             
            	end
         | 
| 539 602 |  | 
| @@ -552,7 +615,7 @@ class Client | |
| 552 615 | 
             
            		p = graphql(
         | 
| 553 616 | 
             
            			"PostsFeed",
         | 
| 554 617 | 
             
            			Queries.get_posts,
         | 
| 555 | 
            -
            			 | 
| 618 | 
            +
            			boardSlugs: [board],
         | 
| 556 619 | 
             
            			order: order,
         | 
| 557 620 | 
             
            			count: count,
         | 
| 558 621 | 
             
            			after: after,
         | 
    
        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 | 
            +
              version: 2.0.5
         | 
| 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- | 
| 11 | 
            +
            date: 2021-03-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: http
         |