Make bookmark reminders a bit smarter

This commit is contained in:
2024-02-23 18:31:53 +11:00
parent 639bd6c801
commit 96c1df617f
2 changed files with 28 additions and 5 deletions

View File

@@ -1,16 +1,28 @@
require "time_math"
module Adamantium
module Repos
class PostRepo < Adamantium::Repo[:posts]
def for_reminders(limit:)
def recent(limit:)
date = Time.now
posts
.where(post_type: "bookmark", is_read: false)
.where(post_type: "bookmark", is_read: false, published_at: TimeMath.day.advance(date, -7)...TimeMath.day.floor(date))
.limit(limit)
.published
.combine(:tags)
.order(Sequel.desc(:published_at))
.to_a
end
def random(limit:, excluding:)
posts
.where(post_type: "bookmark", is_read: false)
.exclude(id: excluding)
.limit(limit)
.published
.order(Sequel.lit("random()"))
.to_a
end
end
end
end