On 22 January 2013 12:04, Alex <[email protected]> wrote:
> Thanks Ben. I do store timestamps in the table. Would you suggest I should
> check for older/newer timestamps inside this loop?
>
> #defines if a post of a user exists in db
>> def post_in_db
>> posts_of_user.each do |post|
>> if post.slug == params[:post_slug]
>> @post_slug ||= post.slug
>> @post_title ||= post.title
>> @post_body ||= post.body
>> @post_date ||= post.created_on
>> end
>> end
>> if @post_body == nil
>> redirect ('/' + params[:nickname])
>> end
>> end
>
>
> or I should store the @post_date and create a new helper with a new loop
> to find the immediate older/newer timestamp before/after the @post_date?
> I’m thinking in terms of performance the first method would be better.
>
> I'd just do a check for created_on < current for previous and created_on >
current for next and just call `first` with the predicate.
For example:
class Post
def prev
first(:created_at.lt => self.created_at)
end
def next
first(:created_at.gt => self.created_at)
end
#...
end
Note: This is gmail code and unchecked/tested :)
Cheers,
Ben
--
You received this message because you are subscribed to the Google Groups
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/datamapper?hl=en.