Ice Cube звучит как излишнее, так как вы просто хотите запустить код в определенный день недели. К счастью, в Ruby есть класс date, который может делать то, что вы хотите.
В вызовах модели требуется 'date'
, получить текущую дату и запустить методы дня недели для этой текущей даты.
2.4.0 :008 > require 'date'
=> true
2.4.0 :009 > foo = Date.today
=> #<Date: 2018-09-09 ((2458371j,0s,0n),+0s,2299161j)>
2.4.0 :010 > foo.monday?
=> false
2.4.0 :011 > foo.sunday?
=> true
2.4.0 :012 > foo.friday?
=> false
Если использование .sunday?
, .monday?
и т. Д. Не работает для вас, вы можете получить день недели следующим образом:
day_of_week = foo.wday # 0 = Sun, 1 = Mon etc.
Таким образом, у вас может быть метод, который принимает аргументы user_id
и day_of_week
, которые вы можете использовать, чтобы проверить, указывает ли ваш бэкэнд какое-либо действие для этого пользователя в этот день недели.