Module: Philiprehberger::FeatureFlag::Scheduling
- Included in:
- Philiprehberger::FeatureFlag
- Defined in:
- lib/philiprehberger/feature_flag/scheduling.rb
Instance Method Summary collapse
- #reset_schedules! ⇒ Object
- #schedule(flag, enable_at: nil, disable_at: nil) ⇒ Object
- #schedule_for(flag) ⇒ Object
- #scheduled_active?(flag) ⇒ Boolean
Instance Method Details
#reset_schedules! ⇒ Object
23 24 25 |
# File 'lib/philiprehberger/feature_flag/scheduling.rb', line 23 def reset_schedules! @schedules = nil end |
#schedule(flag, enable_at: nil, disable_at: nil) ⇒ Object
6 7 8 9 |
# File 'lib/philiprehberger/feature_flag/scheduling.rb', line 6 def schedule(flag, enable_at: nil, disable_at: nil) @schedules ||= {} @schedules[flag.to_sym] = { enable_at: enable_at, disable_at: disable_at } end |
#schedule_for(flag) ⇒ Object
11 12 13 |
# File 'lib/philiprehberger/feature_flag/scheduling.rb', line 11 def schedule_for(flag) @schedules&.dig(flag.to_sym) end |
#scheduled_active?(flag) ⇒ Boolean
15 16 17 18 19 20 21 |
# File 'lib/philiprehberger/feature_flag/scheduling.rb', line 15 def scheduled_active?(flag) sched = schedule_for(flag) return true if sched.nil? now = Time.now check_schedule_window(now, sched) end |