Связывание классов Ruby с таймфреймами - PullRequest
1 голос
/ 07 марта 2012

У меня есть приложение rails с моделями, которые появляются еженедельно.Иными словами, у каждого пользователя есть экземпляр модели (скажем, GroceryList), генерируемый один раз в неделю утром в понедельник.Я хотел бы интегрировать некоторый синтаксический сахар в мою модель GroceryList, чтобы я мог легко ссылаться на прошлые списки, используя синтаксис ruby-esque, возможно, как показано ниже:

current_user.grocery_list.1.week.ago

В настоящее время каждый элемент GroceryList имеет create_onдата, конечно, а также start_date, которая указывает на начало недели (понедельник).

Существует ли установленный способ связать этот тип функциональности с классом ruby, и если да, то как его достичь?

Заранее спасибо.

1 Ответ

0 голосов
/ 07 марта 2012

Подобные вещи довольно легко добавить с помощью именованных областей:

class GroceryList < ActiveRecord::Base
  scope :from, lambda { |date|
    where(:created_on => date.to_date)
  }
end

Тогда вы можете получить через любые отношения, используя что-то простое, например:

current_user.grocery_list.from(1.week.ago)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...