I'm trying to create these "custom" associations based on another one, a
collection. Basically they are:
* the collection
* the first element after applying some conditions
* the last element after the first element
class Car < Sequel::Model
one_to_many :wheels
one_to_one :first_wheel, class: :Wheel do |ds|
ds.pumped
end # this one returns me the first pumped wheel
one_to_one :last_wheel, class: :Wheel do |ds|
if first_wheel
date = first_wheel.created_at
ds.where { created_at > date }.inverse # return me the last wheel
installed
else
# this is the issue. if i say "nil", it'll complain because it
doesn't respond to .all
end
end
So basically, I want last_wheel to be nil when there is no first_wheel. So:
* either I put the first_wheel query as a subquery for the second one
(would be great, but I don't know how to retrieve it from the association).
* or I somehow return something that "quacks" like an empty dataset
* some 3rd option that you might suggest
I just wanted to also say that I'm not in favour of building these
associations as methods inside the collection association, as I'll need
eagerloading.
Is something like this already supported?
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.