redd 0.9.0.pre.1 → 0.9.0.pre.2
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 +4 -4
- data/lib/redd/models/paginated_listing.rb +6 -4
- data/lib/redd/models/session.rb +11 -11
- data/lib/redd/utilities/unmarshaller.rb +1 -1
- data/lib/redd/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5ff3c5e42a08a8f210131a46183225be92037b9
|
4
|
+
data.tar.gz: 8f85fe4a62585429fae41baad34db469a16f67e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b79d75476d5c42f61afc58faad3f634823cde21372545c08dfa087dac3ae2c4cbeda2e6f820acee12e49fd19b198256212537da3fdc71cb4f37a12ab8e9fb2b6
|
7
|
+
data.tar.gz: dbf251810dd76b1da875f3659bf95243dfdf1e60692bfa891c1dfa18c1c22a3e5959d28bf90066b457c68fcec9139092e7ee3f5857185a947065bc991772de78
|
@@ -69,15 +69,17 @@ module Redd
|
|
69
69
|
# Go backward through the listing.
|
70
70
|
# @yield [Object] the object returned in the listings
|
71
71
|
def _stream(&block)
|
72
|
-
reverse_each(&block) if @limit > 0
|
73
72
|
buffer = RingBuffer.new(100)
|
73
|
+
remaining = @limit > 0 ? reverse_each.to_a : []
|
74
|
+
|
74
75
|
loop do
|
75
|
-
remaining
|
76
|
+
remaining.push(*fetch_prev_listing)
|
76
77
|
remaining.reverse_each do |o|
|
77
|
-
next if buffer.include?(o)
|
78
|
+
next if buffer.include?(o.id)
|
79
|
+
buffer.add(o.id)
|
78
80
|
yield o
|
79
|
-
buffer.add(o)
|
80
81
|
end
|
82
|
+
remaining.clear
|
81
83
|
end
|
82
84
|
end
|
83
85
|
|
data/lib/redd/models/session.rb
CHANGED
@@ -9,9 +9,19 @@ module Redd
|
|
9
9
|
class Session < Model
|
10
10
|
include Searchable
|
11
11
|
|
12
|
+
# @return [User] the logged-in user
|
13
|
+
def me
|
14
|
+
@me ||= Self.new(client)
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [FrontPage] the user's front page
|
18
|
+
def front_page
|
19
|
+
@front_page ||= FrontPage.new(client)
|
20
|
+
end
|
21
|
+
|
12
22
|
# @return [Modmail] the new modmail
|
13
23
|
def modmail
|
14
|
-
Modmail.new(client)
|
24
|
+
@modmail ||= Modmail.new(client)
|
15
25
|
end
|
16
26
|
|
17
27
|
# @return [LiveThread] the live thread
|
@@ -19,21 +29,11 @@ module Redd
|
|
19
29
|
LiveThread.new(client, id: id)
|
20
30
|
end
|
21
31
|
|
22
|
-
# @return [FrontPage] the user's front page
|
23
|
-
def front_page
|
24
|
-
FrontPage.new(client)
|
25
|
-
end
|
26
|
-
|
27
32
|
# @return [Hash] a breakdown of karma over subreddits
|
28
33
|
def karma_breakdown
|
29
34
|
client.get('/api/v1/me/karma').body[:data]
|
30
35
|
end
|
31
36
|
|
32
|
-
# @return [User] the logged-in user
|
33
|
-
def me
|
34
|
-
Self.new(client)
|
35
|
-
end
|
36
|
-
|
37
37
|
# Get a (lazily loaded) reddit user by their name.
|
38
38
|
# @param name [String] the username
|
39
39
|
# @return [User]
|
@@ -38,7 +38,7 @@ module Redd
|
|
38
38
|
def js_listing(res)
|
39
39
|
# One day I'll get to deprecate Ruby 2.2 and jump into the world of Hash#dig.
|
40
40
|
return nil unless res[:json] && res[:json][:data] && res[:json][:data][:things]
|
41
|
-
Models::Listing.new(@client, children: res[:json][:data][:things]
|
41
|
+
Models::Listing.new(@client, children: res[:json][:data][:things])
|
42
42
|
end
|
43
43
|
|
44
44
|
# Unmarshal frontend API-style models.
|
data/lib/redd/version.rb
CHANGED