32 lines
1.1 KiB
Ruby
32 lines
1.1 KiB
Ruby
module Main
|
|
module Repos
|
|
class MovieRepo < Adamantium::Repo[:movies]
|
|
def listing
|
|
movies.order(Sequel.lit("year desc")).to_a
|
|
end
|
|
|
|
def by_title_and_year(title:, year:)
|
|
movies.where(title: title, year: year).one
|
|
end
|
|
|
|
def from_the_archives(start_date:, end_date:)
|
|
# SELECT * FROM posts
|
|
# WHERE EXTRACT(month FROM "published_at") >= 2
|
|
# WHERE EXTRACT(month FROM "published_at") <= 2+
|
|
# AND EXTRACT(day FROM "published_at") > 20
|
|
# AND EXTRACT(day FROM "published_at") < 27
|
|
# AND post_type = 'post';
|
|
|
|
movies
|
|
.where { Sequel.extract(:year, :watched_at) >= start_date.year }
|
|
.where { Sequel.extract(:year, :watched_at) <= start_date.year }
|
|
.where { Sequel.extract(:month, :watched_at) >= start_date.month }
|
|
.where { Sequel.extract(:month, :watched_at) <= end_date.month }
|
|
.where { Sequel.extract(:day, :watched_at) >= start_date.day }
|
|
.where { Sequel.extract(:day, :watched_at) <= end_date.day }
|
|
.to_a
|
|
end
|
|
end
|
|
end
|
|
end
|