Class: TimeScheduler

Inherits:
Object
  • Object
show all
Defined in:
lib/time_scheduler/event.rb,
lib/time_scheduler/version.rb,
lib/time_scheduler/scheduler.rb

Defined Under Namespace

Classes: Error, EventItem, EventQueue, Schedule, Scheduler

Constant Summary collapse

VERSION =
"1.0.1"

Instance Method Summary collapse

Constructor Details

#initializeTimeScheduler

Returns a new instance of TimeScheduler.



182
183
# File 'lib/time_scheduler/scheduler.rb', line 182

def initialize
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


213
214
215
# File 'lib/time_scheduler/scheduler.rb', line 213

def active?
  TimeScheduler::Schedule.active?
end

#cancel(*topics) ⇒ Object



207
208
209
210
211
# File 'lib/time_scheduler/scheduler.rb', line 207

def cancel( *topics )
  topics.each do |topic|
    scheduler.cancel( topic )
  end
end

#resumeObject



221
222
223
# File 'lib/time_scheduler/scheduler.rb', line 221

def resume
  TimeScheduler::Schedule.resume
end

#schedulerObject



185
186
187
# File 'lib/time_scheduler/scheduler.rb', line 185

def scheduler
  @@Scheduler  ||=  TimeScheduler::Scheduler.new
end

#suspendObject



217
218
219
# File 'lib/time_scheduler/scheduler.rb', line 217

def suspend
  TimeScheduler::Schedule.suspend
end

#topicsObject



203
204
205
# File 'lib/time_scheduler/scheduler.rb', line 203

def topics
  scheduler.topics
end

#wait(topic = Time.now.iso8601(6), **option, &block) ⇒ Object



189
190
191
192
193
194
195
196
197
198
199
200
201
# File 'lib/time_scheduler/scheduler.rb', line 189

def wait( topic = Time.now.iso8601(6), **option, &block )
  raise  TimeScheduler::Error, "option missing."    if  option.empty?

  if scheduler.reserved?( topic )
    scheduler.wait_reset( topic, **option, &block )
  else
    if option[:action].nil?  &&  block.nil?
      scheduler.wait_once( topic, **option )
    else
      scheduler.wait_each( topic, **option, &block )
    end
  end
end