gem install ice_cube
require 'rubygems' require 'ice_cube' include IceCube # : # - / # { # :duration => 3600 - # :end_time => Time.now + 3600 - # } schedule = Schedule.new(Date.today) # schedule.add_recurrence_time(Date.today) # schedule.add_exception_time(Date.today + 1)
# 4- schedule.add_recurrence_rule Rule.daily(4) # , schedule.add_recurrence_rule Rule.weekly(2).day(:monday, :friday) # 10, 20 , schedule.add_recurrence_rule Rule.monthly.day_of_month(10, 20, -1) # , schedule.add_recurrence_rule Rule.monthly.day_of_week( :monday => [1], :tuesday => [-1] ) # , 50 100 schedule.add_recurrence_rule Rule.yearly.day_of_year(50, -100)
# 4- / schedule.add_recurrence_rule Rule.daily(4) schedule.add_exception_rule Rule.weekly.day(1, 5)
# 2- , schedule.add_recurrence_rule Rule.daily(2).count(10) # 2- , schedule.add_recurrence_rule Rule.daily(2).until(Date.today.next_month - Date.today.day)
# schedule.all_occurrences # schedule.occurrences((Date.today + 5).to_time) # schedule.occurs_at?(Time.now) # schedule.occurs_on?(Date.today) # schedule.occurs_between?(Time.now, (Date.today + 5).to_time) # schedule.first schedule.first(3) # schedule.next_occurrence # 3 schedule.next_occurrences(3) # schedule.remaining_occurrences
# YAML yaml = schedule.to_yaml Schedule.from_yaml(yaml) # Hash hash = schedule.to_hash Schedule.from_hash(hash) # iCalendar schedule.to_ical
Source: https://habr.com/ru/post/161123/
All Articles