Class: Comment

Inherits:
Object
  • Object
show all
Defined in:
lib/Rubbit/Rubbit_Objects.rb

Overview

Rubbit Object

Object that represents an individual comment

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ Comment

Returns a new instance of Comment.



501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
# File 'lib/Rubbit/Rubbit_Objects.rb', line 501

def initialize(json)
	if(json['kind']=='t1')
		data = json['data']
		data.each_key do |k|
			self.class.module_eval {attr_accessor(k)}
			self.send("#{k}=",data[k])
		end
		children = []
		if(@replies!= nil and @replies['data']!=nil and @replies['data']['children']!=nil)
			@replies['data']['children'].each do |c|
				if(c!=nil)
					children += [Comment.new(c)]
				end
			end
			@replies = children
		end
		if(@replies=="")
			replies = nil
		end
	end
end

Instance Method Details

#deleteObject

Description

Deletes this comment. Only works if the comment was made by you.



539
540
541
# File 'lib/Rubbit/Rubbit_Objects.rb', line 539

def delete
	Rubbit_Poster.instance.delete(@name)
end

#edit(text) ⇒ Object

Description

Modifies the text of this comment. Only works if the comment was made by you.

Attributes

  • text - The new comment body.



551
552
553
# File 'lib/Rubbit/Rubbit_Objects.rb', line 551

def edit(text)
	Rubbit_Poster.instance.edit(@name,text)
end

#hideObject

Description

No longer shows the comment to you on Reddit.



559
560
561
# File 'lib/Rubbit/Rubbit_Objects.rb', line 559

def hide
	Rubbit_Poster.instance.hide(@name)
end

#reply(text) ⇒ Object

Description

Submits a reply to a comment.

Attributes

  • text - The body of the response



531
532
533
# File 'lib/Rubbit/Rubbit_Objects.rb', line 531

def reply(text)
	Rubbit_Poster.instance.comment(@name,text)
end