Files
adamantium/app/repos/post_repo.rb

29 lines
685 B
Ruby

require "time_math"
module Adamantium
module Repos
class PostRepo < Adamantium::DB::Repo[:posts]
def recent(limit:)
date = Time.now
posts
.where(post_type: "bookmark", is_read: false, published_at: TimeMath.day.advance(date, -7)...TimeMath.day.floor(date))
.limit(limit)
.published
.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