Rubbit 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzY2MmNhYTY2ZmExYjJmZWE4N2U3OTBjYzA0YjUxMzVlMjc3NmE4Yw==
4
+ Y2I2NDlhOTg0OWU1MDljYTQ4NjliZTk0YWI3NzBjOWU5ZmE3ODYxYQ==
5
5
  data.tar.gz: !binary |-
6
- ZmQyMzA3OThhZmY2MmUyYTBkNjc1NDFmYTgyZjA3OTgxMjY2OTQyYg==
6
+ NjU4YmFmZTA4MmU2ODcxMWJmZGMzNWNlOGIyMjBhYTdkOTNkODRlZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTMwMzgzMzUyZTI3MzUwYzI4ZTM5YmMxMWJiMDBjYzU0YmI4NmViYzBjMjJi
10
- ZjA2YzNkMTNkZDA0NTdkZDViNTBkZWU1MjE5Y2QzOTBhZjBiNTExMTI5MTJi
11
- NTI4NGYxMmUxYWE2YzUzMzg1NWEyMGMwMzkyN2U1ZWU2NWQ0NWI=
9
+ Nzk2Mjk2Mzc5Y2EyNmUxNjkzM2Q4N2JmMDgyNDI1NjM0OGM2NDAwYTZjOWUy
10
+ MDIwMzliYmZkYjliZDkyM2NiNTM5OGQzODczMDAxYzM4ZGQyZWQxNmZlZWRi
11
+ YmQzY2ExZTU1NWQ4NWFmZGMzOTNlY2YyMTkxMjc3M2JjM2UwMGU=
12
12
  data.tar.gz: !binary |-
13
- YTg2YTY5ZmQxZjA5Mjk1NWQyZTE4ZmM3ZDMxOTNjNjY5NGY0ZDE1NDU1MWU0
14
- ZDNmYzc0YTE2Y2NjMDYwOWY2YzZiZWZmNTgzMTU4OGI3YzNlNmIyZTA0MGYw
15
- OWM1ZGQzNGU0MjEzZWY2NTg3ZDQzNGY3ZGYyZjc3MDdkM2Q4NjM=
13
+ ZWRmYTdmZTJlZDU4NWRiMDMzMDllN2FmYzg1YTM5YmEzMDk4YTFlZTVhZTcx
14
+ MzRmYzE4ZTNjNmI0ODdiMDc2NDc1OTg1NGM4YjJhZTU3MWQ3ZjQyNTA1YWMz
15
+ MWY3ZGNhOWY3MTYwYThlNDJkNzMyYzMwZWZlMzI3NjhiNmYwZGM=
@@ -57,7 +57,7 @@ class Reddit_Net_Wrapper
57
57
  @reset = (Time.now - @first_request).to_i
58
58
  end
59
59
 
60
- puts url
60
+ #puts url
61
61
 
62
62
  case request_type.downcase
63
63
  when 'post'
@@ -1,5 +1,6 @@
1
1
  require 'Rubbit/Rubbit_Objects'
2
2
  require 'Rubbit/Reddit_Net_Wrapper'
3
+ require 'Rubbit/Rubbit_Exceptions'
3
4
  require 'json'
4
5
 
5
6
  class Rubbit_Object_Builder
@@ -26,6 +27,10 @@ class Rubbit_Object_Builder
26
27
  puts response.code
27
28
  if(response.code=='200')
28
29
  return Subreddit.new(JSON.parse(response.body))
30
+ elsif(response.code=='403')
31
+ raise PrivateDataException, "/r/" + display_name + " is a private subreddit."
32
+ elsif(response.code=='404')
33
+ raise InvalidSubredditException, "/r/" + display_name + " does not exist."
29
34
  end
30
35
  end
31
36
 
@@ -33,6 +38,8 @@ class Rubbit_Object_Builder
33
38
  response = Reddit_Net_Wrapper.instance.make_request('get','http://www.reddit.com/user/'+user.to_s+'/about.json',{})
34
39
  if(response.code=='200')
35
40
  return Redditor.new(JSON.parse(response.body))
41
+ else
42
+ raise InvalidUserException, "User unable to be retrieved"
36
43
  end
37
44
  end
38
45
 
@@ -55,7 +62,7 @@ class Rubbit_Object_Builder
55
62
  elsif(json['kind']=='t4')
56
63
  return Message.new(json)
57
64
  else
58
- return nil
65
+ raise InvalidSubmissionException, "Could not get submission"
59
66
  end
60
67
  end
61
68
  end
@@ -65,8 +72,11 @@ class Rubbit_Object_Builder
65
72
  if(response.code=='200')
66
73
  json = JSON.parse(response.body,:max_nesting=>100)
67
74
  return Listing.new(json[1])
75
+ elsif(response.code=='403')
76
+ raise PrivateDataException
77
+ else
78
+ raise InvalidSubmissionException, "Could not get comment"
68
79
  end
69
- return
70
80
  end
71
81
 
72
82
  private_class_method :new
@@ -102,11 +112,12 @@ class Rubbit_Poster
102
112
  login_status = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/login/',params).code
103
113
 
104
114
  if(login_status=='200')
105
- user = Rubbit_Object_Builder.instance.build_user('the1rgood')
115
+ user = Rubbit_Object_Builder.instance.build_user(user)
106
116
  @logged_in_user = user.name
107
117
  return user
118
+ else
119
+ raise InvalidUserException, "Could not validate login credentials"
108
120
  end
109
- return nil
110
121
  end
111
122
 
112
123
  def clear_sessions(curpass)
@@ -117,10 +128,7 @@ class Rubbit_Poster
117
128
 
118
129
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/clear_sessions/',params)
119
130
 
120
- if(response.code=='200')
121
- return true
122
- end
123
- return false
131
+ return response.body
124
132
  end
125
133
 
126
134
  def delete_user(user,passwd,message,confirm)
@@ -132,10 +140,7 @@ class Rubbit_Poster
132
140
  params['uh']=get_modhash
133
141
 
134
142
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/delete_user/',params)
135
- if(response.code=='200')
136
- return true
137
- end
138
- return false
143
+ return response.body
139
144
  end
140
145
 
141
146
  def update(email,newpass,curpass,verify,verpass)
@@ -149,10 +154,7 @@ class Rubbit_Poster
149
154
  params['uh']=get_modhash
150
155
 
151
156
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/update/',params)
152
- if(response.code=='200')
153
- return true
154
- end
155
- return false
157
+ return response.body
156
158
  end
157
159
 
158
160
  def submit(sr,title,url=nil,text=nil,kind='self',resubmit=nil,save=false,sendreplies=true)
@@ -184,10 +186,7 @@ class Rubbit_Poster
184
186
 
185
187
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/comment',params)
186
188
 
187
- if(response.code=='200')
188
- return true
189
- end
190
- return false
189
+ return response.body
191
190
  end
192
191
 
193
192
  def hide(id)
@@ -197,10 +196,7 @@ class Rubbit_Poster
197
196
 
198
197
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/hide',params)
199
198
 
200
- if(response.code=='200')
201
- return true
202
- end
203
- return false
199
+ return response.body
204
200
  end
205
201
 
206
202
  def delete(id)
@@ -210,10 +206,7 @@ class Rubbit_Poster
210
206
 
211
207
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/del',params)
212
208
 
213
- if(response.code=='200')
214
- return true
215
- end
216
- return false
209
+ return response.body
217
210
  end
218
211
 
219
212
  def edit(id,text)
@@ -225,10 +218,7 @@ class Rubbit_Poster
225
218
 
226
219
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/editusertext',params)
227
220
 
228
- if(response.code=='200')
229
- return true
230
- end
231
- return false
221
+ return response.body
232
222
  end
233
223
 
234
224
  def mark_nsfw(id)
@@ -238,10 +228,7 @@ class Rubbit_Poster
238
228
 
239
229
  response = Reddit_Net_Wrapper.instance.make_request('post','http://www.reddit.com/api/marknsfw',params)
240
230
 
241
- if(response.code=='200')
242
- return true
243
- end
244
- return false
231
+ return response.body
245
232
  end
246
233
 
247
234
  def get_modhash
@@ -0,0 +1,14 @@
1
+ class InvalidUserException < Exception
2
+ end
3
+
4
+ class InvalidSubmissionException < Exception
5
+ end
6
+
7
+ class LoginException < Exception
8
+ end
9
+
10
+ class PrivateDataException < Exception
11
+ end
12
+
13
+ class InvalidSubredditException < Exception
14
+ end
@@ -108,7 +108,6 @@ class ContentGenerator
108
108
  @count = 0
109
109
  @data = []
110
110
  @after = after
111
- @modhash = nil
112
111
  end
113
112
 
114
113
  def each
@@ -174,6 +173,10 @@ class ContentGenerator
174
173
  return listing.children[0]
175
174
  end
176
175
  end
176
+
177
+ def length
178
+ return @data.length
179
+ end
177
180
  end
178
181
 
179
182
  class Comment
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Rubbit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - /u/The1RGood
@@ -19,6 +19,7 @@ files:
19
19
  - lib/Rubbit.rb
20
20
  - lib/Rubbit/Reddit_Net_Wrapper.rb
21
21
  - lib/Rubbit/Rubbit_Construction_Layer.rb
22
+ - lib/Rubbit/Rubbit_Exceptions.rb
22
23
  - lib/Rubbit/Rubbit_Objects.rb
23
24
  homepage: http://rubygems.org/gems/rubbit
24
25
  licenses: