Class: Reddit::Submission
- Inherits:
-
Base
- Object
- Base
- Reddit::Submission
- Includes:
- JsonListing
- Defined in:
- lib/ruby_reddit_api/submission.rb
Instance Attribute Summary collapse
-
#clicked ⇒ Object
readonly
Returns the value of attribute clicked.
-
#created ⇒ Object
readonly
Returns the value of attribute created.
-
#created_utc ⇒ Object
readonly
Returns the value of attribute created_utc.
-
#domain ⇒ Object
readonly
Returns the value of attribute domain.
-
#downs ⇒ Object
readonly
Returns the value of attribute downs.
-
#hidden ⇒ Object
readonly
Returns the value of attribute hidden.
-
#is_self ⇒ Object
readonly
Returns the value of attribute is_self.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#last_comment_id ⇒ Object
readonly
Returns the value of attribute last_comment_id.
-
#likes ⇒ Object
readonly
Returns the value of attribute likes.
-
#media ⇒ Object
readonly
Returns the value of attribute media.
-
#media_embed ⇒ Object
readonly
Returns the value of attribute media_embed.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#num_comments ⇒ Object
readonly
Returns the value of attribute num_comments.
-
#over_18 ⇒ Object
readonly
Returns the value of attribute over_18.
-
#permalink ⇒ Object
readonly
Returns the value of attribute permalink.
-
#saved ⇒ Object
readonly
Returns the value of attribute saved.
-
#score ⇒ Object
readonly
Returns the value of attribute score.
-
#selftext ⇒ Object
readonly
Returns the value of attribute selftext.
-
#selftext_html ⇒ Object
readonly
Returns the value of attribute selftext_html.
-
#subreddit ⇒ Object
readonly
Returns the value of attribute subreddit.
-
#subreddit_id ⇒ Object
readonly
Returns the value of attribute subreddit_id.
-
#thumbnail ⇒ Object
readonly
Returns the value of attribute thumbnail.
-
#title ⇒ Object
readonly
Returns the value of attribute title.
-
#ups ⇒ Object
readonly
Returns the value of attribute ups.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
- #add_comment(text) ⇒ Object
- #admin_distinguish ⇒ Object
- #author ⇒ Object
- #comments(more = false) ⇒ Object
- #downvote ⇒ Object
- #hide ⇒ Object
- #id ⇒ Object
- #indistinguish ⇒ Object
-
#initialize(data) ⇒ Submission
constructor
A new instance of Submission.
- #inspect ⇒ Object
- #moderator_distinguish ⇒ Object
- #report ⇒ Object
- #save ⇒ Object
- #unhide ⇒ Object
- #unsave ⇒ Object
- #upvote ⇒ Object
Methods included from JsonListing
Constructor Details
#initialize(data) ⇒ Submission
Returns a new instance of Submission.
6 7 8 9 |
# File 'lib/ruby_reddit_api/submission.rb', line 6 def initialize(data) parse(data) @debug = StringIO.new end |
Instance Attribute Details
#clicked ⇒ Object (readonly)
Returns the value of attribute clicked.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def clicked @clicked end |
#created ⇒ Object (readonly)
Returns the value of attribute created.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def created @created end |
#created_utc ⇒ Object (readonly)
Returns the value of attribute created_utc.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def created_utc @created_utc end |
#domain ⇒ Object (readonly)
Returns the value of attribute domain.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def domain @domain end |
#downs ⇒ Object (readonly)
Returns the value of attribute downs.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def downs @downs end |
#hidden ⇒ Object (readonly)
Returns the value of attribute hidden.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def hidden @hidden end |
#is_self ⇒ Object (readonly)
Returns the value of attribute is_self.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def is_self @is_self end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def kind @kind end |
#last_comment_id ⇒ Object (readonly)
Returns the value of attribute last_comment_id.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def last_comment_id @last_comment_id end |
#likes ⇒ Object (readonly)
Returns the value of attribute likes.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def likes @likes end |
#media ⇒ Object (readonly)
Returns the value of attribute media.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def media @media end |
#media_embed ⇒ Object (readonly)
Returns the value of attribute media_embed.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def @media_embed end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def name @name end |
#num_comments ⇒ Object (readonly)
Returns the value of attribute num_comments.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def num_comments @num_comments end |
#over_18 ⇒ Object (readonly)
Returns the value of attribute over_18.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def over_18 @over_18 end |
#permalink ⇒ Object (readonly)
Returns the value of attribute permalink.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def permalink @permalink end |
#saved ⇒ Object (readonly)
Returns the value of attribute saved.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def saved @saved end |
#score ⇒ Object (readonly)
Returns the value of attribute score.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def score @score end |
#selftext ⇒ Object (readonly)
Returns the value of attribute selftext.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def selftext @selftext end |
#selftext_html ⇒ Object (readonly)
Returns the value of attribute selftext_html.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def selftext_html @selftext_html end |
#subreddit ⇒ Object (readonly)
Returns the value of attribute subreddit.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def subreddit @subreddit end |
#subreddit_id ⇒ Object (readonly)
Returns the value of attribute subreddit_id.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def subreddit_id @subreddit_id end |
#thumbnail ⇒ Object (readonly)
Returns the value of attribute thumbnail.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def thumbnail @thumbnail end |
#title ⇒ Object (readonly)
Returns the value of attribute title.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def title @title end |
#ups ⇒ Object (readonly)
Returns the value of attribute ups.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def ups @ups end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
4 5 6 |
# File 'lib/ruby_reddit_api/submission.rb', line 4 def url @url end |
Instance Method Details
#add_comment(text) ⇒ Object
23 24 25 26 |
# File 'lib/ruby_reddit_api/submission.rb', line 23 def add_comment(text) resp = self.class.post("/api/comment", {:body => {:thing_id => id, :text => text, :uh => modhash, :r => subreddit }, :headers => base_headers, :debug_output => @debug }) resp.code == 200 end |
#admin_distinguish ⇒ Object
60 61 62 |
# File 'lib/ruby_reddit_api/submission.rb', line 60 def admin_distinguish add_distinction "admin" end |
#author ⇒ Object
19 20 21 |
# File 'lib/ruby_reddit_api/submission.rb', line 19 def @author_data ||= read("/user/#{@author}/about.json", :handler => "User") end |
#comments(more = false) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ruby_reddit_api/submission.rb', line 68 def comments(more=false) #TODO Get morechildren to work correctly if more && last_comment_id opts = {:handler => "Comment", :verb => "post", :body => {:link_id => last_comment_id, :depth => 0, :r => subreddit, :uh => modhash, :renderstyle => "json", :pv_hex => "", :id => id} } return read("/api/morechildren", opts ) else _comments = read( permalink + ".json", {:handler => "Comment", :query => {:limit => 50}} ) @last_comment_id = _comments.last.id if _comments && _comments.any? return _comments end end |
#downvote ⇒ Object
32 33 34 |
# File 'lib/ruby_reddit_api/submission.rb', line 32 def downvote Reddit::Vote.new(self).down end |
#hide ⇒ Object
44 45 46 |
# File 'lib/ruby_reddit_api/submission.rb', line 44 def hide toggle :hide end |
#id ⇒ Object
15 16 17 |
# File 'lib/ruby_reddit_api/submission.rb', line 15 def id "#{kind}_#{@id}" end |
#indistinguish ⇒ Object
64 65 66 |
# File 'lib/ruby_reddit_api/submission.rb', line 64 def indistinguish add_distinction "no" end |
#inspect ⇒ Object
11 12 13 |
# File 'lib/ruby_reddit_api/submission.rb', line 11 def inspect "<Reddit::Submission id='#{id}' author='#{@author}' title='#{title}'>" end |
#moderator_distinguish ⇒ Object
56 57 58 |
# File 'lib/ruby_reddit_api/submission.rb', line 56 def moderator_distinguish add_distinction "yes" end |
#report ⇒ Object
52 53 54 |
# File 'lib/ruby_reddit_api/submission.rb', line 52 def report toggle :report end |
#save ⇒ Object
36 37 38 |
# File 'lib/ruby_reddit_api/submission.rb', line 36 def save toggle :save end |
#unhide ⇒ Object
48 49 50 |
# File 'lib/ruby_reddit_api/submission.rb', line 48 def unhide toggle :unhide end |
#unsave ⇒ Object
40 41 42 |
# File 'lib/ruby_reddit_api/submission.rb', line 40 def unsave toggle :unsave end |