にSchedule
は、多数の繰り返しルールと例外ルールを設定できます。schedule.recurrence_rules
またはを実行することでそれらを取得できますschedule.exception_rules
。さらに、再発時間と例外時間も存在する可能性があります。(これらのルールの詳細については、https ://github.com/seejohnrun/ice_cube#quick-introductions にアクセスしてください)
したがって、Schedule
特定のルールではなく、シリアライズされたものをデータベースに保存することをお勧めします。
to_hash
必要に応じて、やなどのメソッドto_yaml
もルールで使用できます。
irb(main)> schedule.recurrence_rules.first.to_yaml
=> "---\n:validations: {}\n:rule_type: IceCube::DailyRule\n:interval: 1\n"
irb(main)> schedule.recurrence_rules.first.to_hash
=> {:validations=>{}, :rule_type=>"IceCube::DailyRule", :interval=>1}