Rubbit 0.0.6 → 0.0.7
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 +8 -8
- data/lib/Rubbit/Rubbit_Construction_Layer.rb +1 -0
- data/lib/Rubbit/Rubbit_Objects.rb +61 -59
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzY2MmNhYTY2ZmExYjJmZWE4N2U3OTBjYzA0YjUxMzVlMjc3NmE4Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmQyMzA3OThhZmY2MmUyYTBkNjc1NDFmYTgyZjA3OTgxMjY2OTQyYg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTMwMzgzMzUyZTI3MzUwYzI4ZTM5YmMxMWJiMDBjYzU0YmI4NmViYzBjMjJi
|
10
|
+
ZjA2YzNkMTNkZDA0NTdkZDViNTBkZWU1MjE5Y2QzOTBhZjBiNTExMTI5MTJi
|
11
|
+
NTI4NGYxMmUxYWE2YzUzMzg1NWEyMGMwMzkyN2U1ZWU2NWQ0NWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTg2YTY5ZmQxZjA5Mjk1NWQyZTE4ZmM3ZDMxOTNjNjY5NGY0ZDE1NDU1MWU0
|
14
|
+
ZDNmYzc0YTE2Y2NjMDYwOWY2YzZiZWZmNTgzMTU4OGI3YzNlNmIyZTA0MGYw
|
15
|
+
OWM1ZGQzNGU0MjEzZWY2NTg3ZDQzNGY3ZGYyZjc3MDdkM2Q4NjM=
|
@@ -46,6 +46,14 @@ class Subreddit
|
|
46
46
|
def submit_link(title,url,save=false,sendreplies=true)
|
47
47
|
return submit(title,url,nil,'link',false,save,sendreplies)
|
48
48
|
end
|
49
|
+
|
50
|
+
def get_contributors(limit=100)
|
51
|
+
return ContentGenerator.new('http://www.reddit.com/r/'+@display_name.to_s+'/about/contributors.json',limit)
|
52
|
+
end
|
53
|
+
|
54
|
+
def get_banned(limit=100)
|
55
|
+
return ContentGenerator.new('http://www.reddit.com/r/'+@display_name.to_s+'/about/banned.json',limit)
|
56
|
+
end
|
49
57
|
end
|
50
58
|
|
51
59
|
class Redditor
|
@@ -56,6 +64,12 @@ class Redditor
|
|
56
64
|
self.class.module_eval {attr_accessor(k)}
|
57
65
|
self.send("#{k}=",data[k])
|
58
66
|
end
|
67
|
+
elsif(json['id'][0..2]=='t2_')
|
68
|
+
data = json
|
69
|
+
data.each_key do |k|
|
70
|
+
self.class.module_eval {attr_accessor(k)}
|
71
|
+
self.send("#{k}=",data[k])
|
72
|
+
end
|
59
73
|
end
|
60
74
|
end
|
61
75
|
|
@@ -70,6 +84,14 @@ class Redditor
|
|
70
84
|
def get_submitted(limit=100)
|
71
85
|
return ContentGenerator.new('http://www.reddit.com/user/'+@name.to_s+'/submitted.json',limit)
|
72
86
|
end
|
87
|
+
|
88
|
+
def rebuild
|
89
|
+
rebuilt_user = Rubbit_Object_Builder.instance.build_user(@name)
|
90
|
+
rebuilt_user.instance_variables.each do |attr_name|
|
91
|
+
self.class.module_eval{attr_accessor(attr_name[1..-1])}
|
92
|
+
self.send("#{attr_name[1..-1]}=",rebuilt_user.instance_variable_get(attr_name))
|
93
|
+
end
|
94
|
+
end
|
73
95
|
end
|
74
96
|
|
75
97
|
class ContentGenerator
|
@@ -91,29 +113,17 @@ class ContentGenerator
|
|
91
113
|
|
92
114
|
def each
|
93
115
|
index = 0
|
94
|
-
if(@
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
@data+=[]
|
103
|
-
else
|
104
|
-
@data += listing.children
|
105
|
-
@count += listing.children.length
|
106
|
-
end
|
107
|
-
else
|
108
|
-
listing = Rubbit_Object_Builder.instance.build_listing(@source+'?limit='+100.to_s+"&after="+@after+"&count="+@count.to_s)
|
109
|
-
if(listing.children[listing.children.length-1]!=nil)
|
110
|
-
@after = listing.children[listing.children.length-1].name
|
111
|
-
else
|
112
|
-
@after = nil
|
113
|
-
end
|
114
|
-
if(@after == nil)
|
115
|
-
@data+=[]
|
116
|
+
if(@data.length==0)
|
117
|
+
if(@limit!=nil)
|
118
|
+
if(@limit-@count>0)
|
119
|
+
listing = Rubbit_Object_Builder.instance.build_listing(@source+'?limit='+[@limit-@count,100].min.to_s+"&after="+@after+"&count="+@count.to_s)
|
120
|
+
@after = listing.after
|
121
|
+
@data += listing.children
|
122
|
+
@count += listing.children.length
|
123
|
+
end
|
116
124
|
else
|
125
|
+
listing = Rubbit_Object_Builder.instance.build_listing(@source+'?limit='+100.to_s+"&after="+@after+"&count="+@count.to_s)
|
126
|
+
@after = listing.after
|
117
127
|
@data += listing.children
|
118
128
|
@count+= listing.children.length
|
119
129
|
end
|
@@ -124,39 +134,21 @@ class ContentGenerator
|
|
124
134
|
index+=1
|
125
135
|
if(index==@data.length)
|
126
136
|
if(@after==nil)
|
127
|
-
|
137
|
+
break
|
128
138
|
end
|
129
139
|
if(@limit!=nil)
|
130
140
|
if(@limit-@count>0)
|
131
141
|
listing = Rubbit_Object_Builder.instance.build_listing(@source+'?limit='+[@limit-@count,100].min.to_s+"&after="+@after+"&count="+@count.to_s)
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
@after = nil
|
136
|
-
end
|
137
|
-
if(@after == nil)
|
138
|
-
@data+=[]
|
139
|
-
else
|
140
|
-
@data += listing.children
|
141
|
-
@count += listing.children.length
|
142
|
-
end
|
143
|
-
else
|
144
|
-
@data += []
|
142
|
+
@after = listing.after
|
143
|
+
@data += listing.children
|
144
|
+
@count += listing.children.length
|
145
145
|
end
|
146
146
|
else
|
147
147
|
listing = Rubbit_Object_Builder.instance.build_listing(@source+"?limit="+100.to_s+"&after="+@after+"&count="+@count.to_s)
|
148
148
|
puts(@source+"?limit="+100.to_s+"&after="+@after+"&count="+@count.to_s)
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
@after = nil
|
153
|
-
end
|
154
|
-
if(@after == nil)
|
155
|
-
@data+=[]
|
156
|
-
else
|
157
|
-
@data += listing.children
|
158
|
-
@count += listing.children.length
|
159
|
-
end
|
149
|
+
@after = listing.after
|
150
|
+
@data += listing.children
|
151
|
+
@count += listing.children.length
|
160
152
|
end
|
161
153
|
end
|
162
154
|
end
|
@@ -166,10 +158,6 @@ class ContentGenerator
|
|
166
158
|
return @data[i]
|
167
159
|
end
|
168
160
|
|
169
|
-
def length
|
170
|
-
return @data.length
|
171
|
-
end
|
172
|
-
|
173
161
|
def next
|
174
162
|
listing = Rubbit_Object_Builder.instance.build_listing(@source+'?limit='+1.to_s+"&after="+@after+"&count="+@count.to_s)
|
175
163
|
if(listing.children[listing.children.length-1]!=nil)
|
@@ -196,6 +184,18 @@ class Comment
|
|
196
184
|
self.class.module_eval {attr_accessor(k)}
|
197
185
|
self.send("#{k}=",data[k])
|
198
186
|
end
|
187
|
+
children = []
|
188
|
+
if(@replies!= nil and @replies['data']!=nil and @replies['data']['children']!=nil)
|
189
|
+
@replies['data']['children'].each do |c|
|
190
|
+
if(c!=nil)
|
191
|
+
children += [Comment.new(c)]
|
192
|
+
end
|
193
|
+
end
|
194
|
+
@replies = children
|
195
|
+
end
|
196
|
+
if(@replies=="")
|
197
|
+
replies = nil
|
198
|
+
end
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
@@ -232,7 +232,7 @@ class Post
|
|
232
232
|
return Rubbit_Poster.instance.comment(@name,text)
|
233
233
|
end
|
234
234
|
|
235
|
-
def
|
235
|
+
def replies
|
236
236
|
if(@comments==nil)
|
237
237
|
@comments = Rubbit_Object_Builder.instance.get_comments('http://www.reddit.com'+@permalink).children
|
238
238
|
end
|
@@ -282,18 +282,20 @@ class Listing
|
|
282
282
|
end
|
283
283
|
children_objects = []
|
284
284
|
@children.each do |c|
|
285
|
-
|
286
|
-
|
285
|
+
if(c['id']==nil)
|
286
|
+
c['id']=' '
|
287
|
+
end
|
288
|
+
if(c['kind'] == 't1' or c['id'][0..2]=='t1_')
|
287
289
|
children_objects += [Comment.new(c)]
|
288
|
-
|
290
|
+
elsif(c['kind'] == 't2' or c['id'][0..2]=='t2_')
|
289
291
|
children_objects += [Redditor.new(c)]
|
290
|
-
|
292
|
+
elsif(c['kind'] == 't3' or c['id'][0..2]=='t3_')
|
291
293
|
children_objects += [Post.new(c)]
|
292
|
-
|
294
|
+
elsif(c['kind'] == 't4' or c['id'][0..2]=='t4_')
|
293
295
|
children_objects += [Message.new(c)]
|
294
|
-
|
296
|
+
elsif(c['kind'] == 't5' or c['id'][0..2]=='t5_')
|
295
297
|
children_objects += [Subreddit.new(c)]
|
296
|
-
|
298
|
+
elsif(c['kind'] == 'Listing')
|
297
299
|
children_objects += [Listing.new(c)]
|
298
300
|
end
|
299
301
|
end
|