diff options
author | ThibG <thib@sitedethib.com> | 2018-10-02 12:01:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-02 12:01:40 +0200 |
commit | 35e9d099b3febd75d1613dfc8a494e769a98c3a6 (patch) | |
tree | 2aceaee757bd292e3d05811673a7bfe419e7b064 /app/models/feed.rb | |
parent | 4e60a0d5433f5dfa4f71a452cc5c6ceb0f21ceab (diff) | |
parent | 6ad76069096005d7b55d9c63a567f843997a8068 (diff) |
Merge pull request #758 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models/feed.rb')
-rw-r--r-- | app/models/feed.rb | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/app/models/feed.rb b/app/models/feed.rb index d99f1ffb2..5bce88f25 100644 --- a/app/models/feed.rb +++ b/app/models/feed.rb @@ -6,16 +6,20 @@ class Feed @id = id end - def get(limit, max_id = nil, since_id = nil) - from_redis(limit, max_id, since_id) + def get(limit, max_id = nil, since_id = nil, min_id = nil) + from_redis(limit, max_id, since_id, min_id) end protected - def from_redis(limit, max_id, since_id) - max_id = '+inf' if max_id.blank? - since_id = '-inf' if since_id.blank? - unhydrated = redis.zrevrangebyscore(key, "(#{max_id}", "(#{since_id}", limit: [0, limit], with_scores: true).map(&:first).map(&:to_i) + def from_redis(limit, max_id, since_id, min_id) + if min_id.blank? + max_id = '+inf' if max_id.blank? + since_id = '-inf' if since_id.blank? + unhydrated = redis.zrevrangebyscore(key, "(#{max_id}", "(#{since_id}", limit: [0, limit], with_scores: true).map(&:first).map(&:to_i) + else + unhydrated = redis.zrangebyscore(key, "(#{min_id}", '+inf', limit: [0, limit], with_scores: true).map(&:first).map(&:to_i) + end Status.where(id: unhydrated).cache_ids end |