redditkit 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -4
  3. data/lib/redditkit.rb +4 -3
  4. data/lib/redditkit/client.rb +6 -8
  5. data/lib/redditkit/client/apps.rb +8 -8
  6. data/lib/redditkit/client/captcha.rb +2 -2
  7. data/lib/redditkit/client/comments.rb +2 -2
  8. data/lib/redditkit/client/flair.rb +10 -8
  9. data/lib/redditkit/client/links.rb +24 -20
  10. data/lib/redditkit/client/miscellaneous.rb +10 -10
  11. data/lib/redditkit/client/moderation.rb +23 -21
  12. data/lib/redditkit/client/multireddits.rb +4 -4
  13. data/lib/redditkit/client/private_messages.rb +6 -4
  14. data/lib/redditkit/client/search.rb +1 -1
  15. data/lib/redditkit/client/subreddits.rb +11 -7
  16. data/lib/redditkit/client/users.rb +17 -14
  17. data/lib/redditkit/client/utilities.rb +10 -8
  18. data/lib/redditkit/client/voting.rb +5 -5
  19. data/lib/redditkit/client/wiki.rb +4 -0
  20. data/lib/redditkit/comment.rb +4 -4
  21. data/lib/redditkit/error.rb +3 -3
  22. data/lib/redditkit/link.rb +14 -14
  23. data/lib/redditkit/moderator_action.rb +4 -4
  24. data/lib/redditkit/multireddit.rb +2 -2
  25. data/lib/redditkit/multireddit_description.rb +2 -2
  26. data/lib/redditkit/private_message.rb +2 -2
  27. data/lib/redditkit/response/parse_json.rb +7 -1
  28. data/lib/redditkit/response/raise_error.rb +4 -5
  29. data/lib/redditkit/subreddit.rb +13 -10
  30. data/lib/redditkit/thing.rb +1 -0
  31. data/lib/redditkit/user.rb +12 -8
  32. data/lib/redditkit/version.rb +1 -5
  33. data/lib/redditkit/votable.rb +2 -2
  34. data/redditkit.gemspec +1 -1
  35. data/spec/cassettes/RedditKit_Client_Flair/_flair_list/returns_the_list_of_flair.yml +51 -4
  36. data/spec/cassettes/RedditKit_Client_Moderation/_ban/requests_the_correct_resource.yml +70 -23
  37. data/spec/cassettes/RedditKit_Client_Moderation/_contributors_to_subreddit/requests_the_correct_resource.yml +52 -5
  38. data/spec/cassettes/RedditKit_Client_Moderation/_moderation_log/returns_RedditKit_ModeratorAction_objects.yml +150 -109
  39. data/spec/cassettes/RedditKit_Client_Moderation/_moderators_of_subreddit/requests_the_correct_resource.yml +53 -6
  40. data/spec/cassettes/RedditKit_Client_Moderation/_unban/requests_the_correct_resource.yml +61 -14
  41. data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit/without_a_path/returns_a_multireddit.yml +49 -7
  42. data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit_description/with_a_multireddit/returns_a_multireddit_description.yml +102 -11
  43. data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit_description/with_a_username_and_multireddit_name/returns_a_multireddit_description.yml +54 -5
  44. data/spec/cassettes/RedditKit_Client_Search/_search/restricts_searches_to_a_specific_subreddit.yml +925 -0
  45. data/spec/cassettes/RedditKit_Client_Search/_search/returns_a_specific_number_of_results.yml +116 -0
  46. data/spec/cassettes/RedditKit_Client_Search/_search/returns_search_results.yml +884 -0
  47. data/spec/cassettes/RedditKit_Client_Wiki/_add_wiki_editor/requests_the_correct_resource.yml +58 -4
  48. data/spec/cassettes/RedditKit_Client_Wiki/_edit_wiki_page/requests_the_correct_resource.yml +58 -4
  49. data/spec/cassettes/RedditKit_Client_Wiki/_hide_wiki_revision/requests_the_correct_resource.yml +58 -4
  50. data/spec/cassettes/RedditKit_Client_Wiki/_remove_wiki_editor/requests_the_correct_resource.yml +58 -4
  51. data/spec/cassettes/RedditKit_Client_Wiki/_revert_to_revision/requests_the_correct_resource.yml +58 -4
  52. data/spec/redditkit/comment_spec.rb +6 -6
  53. data/spec/redditkit/link_spec.rb +38 -7
  54. data/spec/redditkit/thing_spec.rb +8 -0
  55. data/spec/redditkit/user_spec.rb +14 -0
  56. data/spec/spec_helper.rb +0 -4
  57. metadata +7 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e238756c1925ce84c5d427e7c2c87fc176c376bc
4
- data.tar.gz: 578a1aba9324a817ae38431f2b269584560c6014
3
+ metadata.gz: 5cebc62a3ed2c61e757d97c82eb5476eba7a1c74
4
+ data.tar.gz: c47a8e01b50625a3015eeab55c6a2a9e4960e7c4
5
5
  SHA512:
6
- metadata.gz: c9a62dae47cf215362ad7b12423e975f3e8ec0d8b9d77e76eac7cc0f2c1e08cd56d48d1814695e49560fd30a25747b65a0d2953d0db34dc96f54bc58c75e5d33
7
- data.tar.gz: da91b90dbe57312fddda981f374f69aa61ced51b73e7a431c8cdd84d29fa5b84ff35609c7889c5eb58a292a59f84bd3cc387f05490615fae99075c042eceb123
6
+ metadata.gz: 9ac50a6beb64a4a57d0e3c476381f70d264c14c0650889710ffb323c0cf3e65f0ce1a7844ae6ca776d851a07c8d079b086d0b34696fd444abc846989cf699f68
7
+ data.tar.gz: fa09d0b525b8e94b2caf567e595bd1a8894288a073387e1f0a828fe165d8086c6da05c3bd840c2e41820bacbea9605d5d46ccbf690208673b986d766615f07b2
data/README.md CHANGED
@@ -2,19 +2,25 @@
2
2
 
3
3
  RedditKit.rb is a [reddit API](http://www.reddit.com/dev/api) wrapper, written in Ruby.
4
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/redditkit.png)][rubygem]
5
6
  [![Build Status](https://travis-ci.org/samsymons/RedditKit.rb.png?branch=master)][travis]
6
7
  [![Code Climate](https://codeclimate.com/github/samsymons/RedditKit.rb.png)][codeclimate]
7
8
  [![Coverage Status](https://coveralls.io/repos/samsymons/RedditKit.rb/badge.png?branch=master)][coveralls]
8
9
 
9
- [travis]: http://travis-ci.org/samsymons/RedditKit.rb
10
+ [rubygem]: https://rubygems.org/gems/redditkit
11
+ [travis]: https://travis-ci.org/samsymons/RedditKit.rb
10
12
  [codeclimate]: https://codeclimate.com/github/samsymons/RedditKit.rb
11
13
  [coveralls]: https://coveralls.io/r/samsymons/RedditKit.rb
12
14
 
15
+ ## Documentation
16
+
17
+ [http://rdoc.info/gems/redditkit/](http://rdoc.info/gems/redditkit/)
18
+
13
19
  ## Installation
14
20
 
15
21
  Add this to your Gemfile:
16
22
 
17
- gem 'redditkit', '~> 1.0'
23
+ gem 'redditkit', '~> 1.0.1'
18
24
 
19
25
  Or install it directly:
20
26
 
@@ -92,8 +98,6 @@ paginated_response.each do |link|
92
98
  end
93
99
  ```
94
100
 
95
- ## Multiple Accounts
96
-
97
101
  ## Configuration
98
102
 
99
103
  You can configure various aspects of RedditKit.rb's operation, including its default API endpoint and user agent, by setting attributes on `RedditKit::Client`.
@@ -1,10 +1,11 @@
1
1
  require 'redditkit/client'
2
+ require 'uri'
2
3
 
3
4
  # The main RedditKit module.
4
5
  module RedditKit
5
6
  class << self
6
7
 
7
- # A RedditKit::Client, used when calling methods on the RedditKit module itself.
8
+ # A RedditKit::Client, used when calling methods on the RedditKit module itself.
8
9
  #
9
10
  # @return [RedditKit::Client]
10
11
  def client
@@ -13,7 +14,7 @@ module RedditKit
13
14
 
14
15
  def respond_to?(method_name, include_private = false)
15
16
  client.respond_to?(method_name, include_private) || super
16
- end
17
+ end
17
18
 
18
19
  private
19
20
 
@@ -21,6 +22,6 @@ module RedditKit
21
22
  return super unless client.respond_to?(method_name)
22
23
  client.send(method_name, *args, &block)
23
24
  end
24
-
25
+
25
26
  end
26
27
  end
@@ -58,9 +58,7 @@ module RedditKit
58
58
  @cookie = nil
59
59
  @modhash = nil
60
60
 
61
- unless @username.nil? or @password.nil?
62
- sign_in @username, @password
63
- end
61
+ sign_in(username, password) unless username.nil? || password.nil?
64
62
  end
65
63
 
66
64
  def api_endpoint
@@ -76,7 +74,7 @@ module RedditKit
76
74
  end
77
75
 
78
76
  def middleware
79
- @middleware ||= Faraday::Builder.new do |builder|
77
+ @middleware ||= Faraday::RackBuilder.new do |builder|
80
78
  builder.use Faraday::Request::UrlEncoded
81
79
  builder.use RedditKit::Response::RaiseError
82
80
  builder.use RedditKit::Response::ParseJSON
@@ -113,14 +111,14 @@ module RedditKit
113
111
  else
114
112
  request_connection.send(method.to_sym, path, parameters).env
115
113
  end
116
- rescue Faraday::Error::ClientError
114
+ rescue Faraday::Error::ClientError
117
115
  raise RedditKit::RequestError
118
116
  end
119
117
 
120
118
  def authenticated_request_configuration(method, path, parameters)
121
- raise RedditKit::NotAuthenticated unless signed_in?
119
+ fail RedditKit::NotAuthenticated unless signed_in?
122
120
 
123
- Proc.new do |request|
121
+ proc do |request|
124
122
  request.headers['Cookie'] = "reddit_session=#{@cookie}"
125
123
  request.headers['X-Modhash'] = @modhash
126
124
  end
@@ -135,7 +133,7 @@ module RedditKit
135
133
  end
136
134
 
137
135
  def connection_with_url(url)
138
- Faraday.new(url, { :builder => middleware })
136
+ Faraday.new url, :builder => middleware
139
137
  end
140
138
 
141
139
  end
@@ -3,7 +3,7 @@ module RedditKit
3
3
 
4
4
  # Methods for operating on apps in the current user's account.
5
5
  module Apps
6
-
6
+
7
7
  # Create or update an app.
8
8
  #
9
9
  # @param name [String] The app's name.
@@ -20,35 +20,35 @@ module RedditKit
20
20
 
21
21
  post('api/updateapp', parameters)
22
22
  end
23
- alias update_app create_app
24
-
23
+ alias_method :update_app, :create_app
24
+
25
25
  # Delete an app.
26
26
  #
27
27
  # @param app_identifier [String] The identifier of the app.
28
28
  def delete_app(app_identifier)
29
- post('api/deleteapp', { :client_id => app_identifier })
29
+ post 'api/deleteapp', :client_id => app_identifier
30
30
  end
31
31
 
32
32
  # Revoke an app.
33
33
  #
34
34
  # @param app_identifier [String] The identifier of the app.
35
35
  def revoke_app(app_identifier)
36
- post('api/revokeapp', { :client_id => app_identifier })
36
+ post 'api/revokeapp', :client_id => app_identifier
37
37
  end
38
38
 
39
39
  # Add a user as a developer of an app.
40
- #
40
+ #
41
41
  # @param user [String, RedditKit::User] The username of the user to add, or a RedditKit::User.
42
42
  # @param app_identifier [String] The identifier of the app.
43
43
  def add_developer(user, app_identifier)
44
44
  username = extract_string user, :username
45
45
  parameters = { :name => username, :client_id => app_identifier }
46
46
 
47
- post('api/adddeveloper', parameters)
47
+ post 'api/adddeveloper', parameters
48
48
  end
49
49
 
50
50
  # Remove an app's developer.
51
- #
51
+ #
52
52
  # @param user [String, RedditKit::User] The username of the user to add, or a RedditKit::User.
53
53
  # @param app_identifier [String] The identifier of the app.
54
54
  def remove_developer(user, app_identifier)
@@ -8,7 +8,7 @@ module RedditKit
8
8
  #
9
9
  # @return [Boolean]
10
10
  def needs_captcha?
11
- response = get('api/needs_captcha.json', nil)
11
+ response = get 'api/needs_captcha.json'
12
12
  needs_captcha = response[:body]
13
13
 
14
14
  needs_captcha.to_s == 'true'
@@ -18,7 +18,7 @@ module RedditKit
18
18
  #
19
19
  # @return [String] The CAPTCHA identifier.
20
20
  def new_captcha_identifier
21
- response = post('api/new_captcha', { :api_type => :json })
21
+ response = post 'api/new_captcha', :api_type => :json
22
22
  data = response[:body][:json][:data]
23
23
 
24
24
  data[:iden]
@@ -16,7 +16,7 @@ module RedditKit
16
16
  comments.first
17
17
  end
18
18
 
19
- # Get comments on a link.
19
+ # Get comments on a link.
20
20
  #
21
21
  # @param link [String, RedditKit::Link] The identifier of the link, or a RedditKit::Link.
22
22
  # @option options [Integer] :limit The number of comments to return.
@@ -45,7 +45,7 @@ module RedditKit
45
45
  full_comment_data = response_data[:things].first
46
46
  comment_data = full_comment_data[:data]
47
47
  comment_full_name = comment_data[:id]
48
-
48
+
49
49
  comment comment_full_name
50
50
  end
51
51
 
@@ -6,11 +6,11 @@ module RedditKit
6
6
  # Methods for interacting with flair in subreddits.
7
7
  module Flair
8
8
 
9
- # Lists users and their flair in a subreddit.
9
+ # Lists users and their flair in a subreddit.
10
10
  #
11
11
  # @param subreddit [String, RedditKit::Subreddit] A subreddit's name, or a RedditKit::Subreddit.
12
12
  # @option options [1..1000] :limit The number of items to return.
13
- # @option options [String] :before Only return objects before this id.
13
+ # @option options [String] :before Only return objects before this id.
14
14
  # @option options [String] :after Only return objects after this id.
15
15
  def flair_list(subreddit, options = {})
16
16
  subreddit_name = extract_string(subreddit, :display_name)
@@ -19,7 +19,7 @@ module RedditKit
19
19
 
20
20
  users.collect { |user| OpenStruct.new(user) }
21
21
  end
22
-
22
+
23
23
  # Creates a flair template in a subreddit.
24
24
  #
25
25
  # @param subreddit [String, RedditKit::Subreddit] A subreddit's name, or a RedditKit::Subreddit.
@@ -48,12 +48,12 @@ module RedditKit
48
48
  post('api/deleteflairtemplate', parameters)
49
49
  end
50
50
 
51
- # Toggles flair for a subreddit.
51
+ # Toggles flair for a subreddit.
52
52
  #
53
53
  # @param subreddit [String, RedditKit::Subreddit] A subreddit's name, or a RedditKit::Subreddit.
54
- # @param flair_enabled [Boolean] Whether to enable flair for the subreddit.
54
+ # @param flair_enabled [Boolean] Whether to enable flair for the subreddit.
55
55
  def toggle_flair(subreddit, flair_enabled)
56
- post('api/setflairenabled', { :r => subreddit, :flair_enabled => flair_enabled })
56
+ post('api/setflairenabled', { :r => subreddit, :flair_enabled => flair_enabled })
57
57
  end
58
58
 
59
59
  # Sets flair on a link or user.
@@ -132,15 +132,17 @@ module RedditKit
132
132
  #
133
133
  # @param subreddit [String, RedditKit::Subreddit] A subreddit's name, or a RedditKit::Subreddit.
134
134
  # @option options [Boolean] flair_enabled Whether to enable flair for the subreddit.
135
- # @option options [left, right] flair_position The position of user flair.
135
+ # @option options [left, right] flair_position The position of user flair.
136
136
  # @option options [left, right] link_flair_position The position of link flair.
137
137
  # @option options [Boolean] flair_self_assign_enabled Whether users may assign their own flair.
138
138
  # @option options [Boolean] link_flair_self_assign_enabled Whether users may assign their own link flair.
139
139
  def set_flair_options(subreddit, options = {})
140
+ options = options.clone
141
+
140
142
  subreddit_name = extract_string(subreddit, :display_name)
141
143
  options.merge!({ :r => subreddit_name, :uh => @modhash })
142
144
 
143
- post('api/flairconfig', options)
145
+ post('api/flairconfig', options)
144
146
  end
145
147
 
146
148
  end
@@ -5,13 +5,13 @@ module RedditKit
5
5
 
6
6
  # Methods for retrieving, submitting and interacting with links.
7
7
  module Links
8
-
8
+
9
9
  # Gets the links currently on the front page.
10
10
  #
11
- # @option options [hot, new, rising, controversial, top] :category The category from which to retrieve links.
11
+ # @option options [hot, new, rising, controversial, top, ads] :category The category from which to retrieve links.
12
12
  # @option options [hour, day, week, month, year, all] :time The time from which to retrieve links. Defaults to all time.
13
13
  # @option options [1..100] :limit The number of links to return.
14
- # @option options [String] :before Only return links before this identifier.
14
+ # @option options [String] :before Only return links before this identifier.
15
15
  # @option options [String] :after Only return links after this identifier.
16
16
  # @return [RedditKit::PaginatedResponse]
17
17
  def front_page(options = {})
@@ -21,13 +21,15 @@ module RedditKit
21
21
  # Gets an array of links from a specific subreddit.
22
22
  #
23
23
  # @param subreddit [String, RedditKit::Subreddit] The display name of the subreddit, or a RedditKit::Subreddit.
24
- # @option options [hot, new, rising, controversial, top] :category The category from which to retrieve links.
24
+ # @option options [hot, new, rising, controversial, top, ads] :category The category from which to retrieve links.
25
25
  # @option options [hour, day, week, month, year, all] :time The time from which to retrieve links. Defaults to all time.
26
26
  # @option options [1..100] :limit The number of links to return.
27
- # @option options [String] :before Only return links before this identifier.
27
+ # @option options [String] :before Only return links before this identifier.
28
28
  # @option options [String] :after Only return links after this identifier.
29
29
  # @return [RedditKit::PaginatedResponse]
30
30
  def links(subreddit, options = {})
31
+ options = options.clone
32
+
31
33
  subreddit_name = extract_string(subreddit, :display_name) if subreddit
32
34
  category = options[:category] || :hot
33
35
 
@@ -50,16 +52,18 @@ module RedditKit
50
52
  links.first
51
53
  end
52
54
 
53
- # Gets links with a specific domain.
55
+ # Gets links with a specific domain.
54
56
  #
55
57
  # @param domain [String] The domain for which to get links.
56
58
  # @option options [hour, day, week, month, year] :time The time from which to retrieve links. Defaults to all time.
57
59
  # @option options [1..100] :limit The number of links to return.
58
- # @option options [String] :before Only return links before this identifier.
60
+ # @option options [String] :before Only return links before this identifier.
59
61
  # @option options [String] :after Only return links after this identifier.
60
62
  # @return [RedditKit::PaginatedResponse]
61
63
  # @example links = RedditKit.links_with_domain "github.com"
62
64
  def links_with_domain(domain, options = {})
65
+ options = options.clone
66
+
63
67
  parameters = { :url => domain, :t => options[:time] }
64
68
  options.merge! parameters
65
69
  options.delete :t
@@ -67,10 +71,10 @@ module RedditKit
67
71
  objects_from_response(:get, 'api/info.json', options)
68
72
  end
69
73
 
70
- # Submits a link or self post to reddit.
74
+ # Submits a link or self post to reddit.
71
75
  #
72
76
  # @param title [String] The title of the post.
73
- # @param subreddit [String, RedditKit::Subreddit] A subreddit's display name, or a RedditKit::Subreddit.
77
+ # @param subreddit [String, RedditKit::Subreddit] A subreddit's display name, or a RedditKit::Subreddit.
74
78
  # @option options [String] :url The URL for the post. Note that if this value is present, :text will be ignored.
75
79
  # @option options [String] :text The text value for the post, as Markdown.
76
80
  # @option options [String] :captcha_identifier An identifier for a CAPTCHA, if the current user is required to fill one out.
@@ -85,7 +89,7 @@ module RedditKit
85
89
  :captcha => options[:captcha_value],
86
90
  :save => options[:save]
87
91
  }
88
-
92
+
89
93
  if options[:url]
90
94
  parameters[:url] = options[:url]
91
95
  parameters[:kind] = 'link'
@@ -94,36 +98,36 @@ module RedditKit
94
98
  parameters[:kind] = 'self'
95
99
  end
96
100
 
97
- post('api/submit', parameters)
101
+ post 'api/submit', parameters
98
102
  end
99
103
 
100
104
  # Marks a link as not safe for work.
101
105
  #
102
- # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
106
+ # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
103
107
  def mark_nsfw(link)
104
- post('api/marknsfw', { :id => extract_full_name(link) })
108
+ post 'api/marknsfw', :id => extract_full_name(link)
105
109
  end
106
110
 
107
111
  # Marks a link as safe for work.
108
112
  #
109
- # @param link [String, RedditKit::Subreddit] A link's full name, or a RedditKit::Link.
113
+ # @param link [String, RedditKit::Subreddit] A link's full name, or a RedditKit::Link.
110
114
  def mark_sfw(link)
111
- post('api/unmarknsfw', { :id => extract_full_name(link) })
115
+ post 'api/unmarknsfw', :id => extract_full_name(link)
112
116
  end
113
- alias unmark_nsfw mark_sfw
117
+ alias_method :unmark_nsfw, :mark_sfw
114
118
 
115
119
  # Hides a link.
116
120
  #
117
- # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
121
+ # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
118
122
  def hide(link)
119
- post('api/hide', { :id => extract_full_name(link) })
123
+ post 'api/hide', :id => extract_full_name(link)
120
124
  end
121
125
 
122
126
  # Unhides a link.
123
127
  #
124
- # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
128
+ # @param link [String, RedditKit::Link] A link's full name, or a RedditKit::Link.
125
129
  def unhide(link)
126
- post('api/unhide', { :id => extract_full_name(link) })
130
+ post 'api/unhide', :id => extract_full_name(link)
127
131
  end
128
132
 
129
133
  # Gets a random link.
@@ -6,7 +6,7 @@ module RedditKit
6
6
 
7
7
  # Edit the text or a self post or comment.
8
8
  #
9
- # @param object [String, RedditKit::Comment, RedditKit::Link] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
9
+ # @param object [String, RedditKit::Comment, RedditKit::Link] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
10
10
  # @option options [String] text The new text for the link or comment.
11
11
  def edit(object, options)
12
12
  parameters = { :text => options[:text], :thing_id => extract_full_name(object) }
@@ -15,36 +15,36 @@ module RedditKit
15
15
 
16
16
  # Deletes a link or comment.
17
17
  #
18
- # @param object [String, RedditKit::Comment, RedditKit::Link] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
18
+ # @param object [String, RedditKit::Comment, RedditKit::Link] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
19
19
  def delete(object)
20
20
  full_name = extract_full_name object
21
- post('api/del', { :id => full_name })
21
+ post 'api/del', :id => full_name
22
22
  end
23
23
 
24
24
  # Saves a link or comment.
25
25
  #
26
- # @param object [String, RedditKit::Link, RedditKit::Subreddit] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
26
+ # @param object [String, RedditKit::Link, RedditKit::Subreddit] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
27
27
  def save(object)
28
28
  full_name = extract_full_name object
29
- post('api/save', { :id => full_name })
29
+ post 'api/save', :id => full_name
30
30
  end
31
31
 
32
32
  # Unsaves a link or comment.
33
33
  #
34
- # @param object [String, RedditKit::Link, RedditKit::Subreddit] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
34
+ # @param object [String, RedditKit::Link, RedditKit::Subreddit] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
35
35
  def unsave(object)
36
36
  full_name = extract_full_name object
37
- post('api/unsave', { :id => full_name })
37
+ post 'api/unsave', :id => full_name
38
38
  end
39
39
 
40
40
  # Reports a link or comment. The reddit API will also hide the link or comment.
41
41
  #
42
- # @param object [String, RedditKit::Link, RedditKit::Comment] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
42
+ # @param object [String, RedditKit::Link, RedditKit::Comment] A link or comment's full name, a RedditKit::Link, or a RedditKit::Subreddit.
43
43
  def report(object)
44
44
  full_name = extract_full_name object
45
- post('api/report', { :id => full_name })
45
+ post 'api/report', :id => full_name
46
46
  end
47
-
47
+
48
48
  end
49
49
  end
50
50
  end