sleeper 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/sleeper/timer.rb +5 -5
  2. metadata +1 -1
@@ -4,9 +4,10 @@ module Sleeper
4
4
  class Timer
5
5
  attr_reader :schedule, :default
6
6
 
7
+ # TODO: Behavior here needs to be cleaned up.
7
8
  def initialize(schedule, opts={})
8
9
  @cyclic = opts[:cyclic] || false
9
- @default = opts[:default] || nil
10
+ @default = from_array(opts[:default]) if opts[:default] || nil
10
11
  from_hash(schedule) if schedule.class == Hash
11
12
  from_array(schedule) if schedule.class == Array
12
13
  end
@@ -14,8 +15,9 @@ module Sleeper
14
15
  def run(&block)
15
16
  block_given? ? schedule = @schedule[block.call] : schedule = @schedule
16
17
 
17
- # TODO: If schedule nil then use default or raise exception?
18
- follow_schedule(schedule)
18
+ raise 'Missing Schedule' if schedule.nil? && @default.nil?
19
+
20
+ schedule.nil? ? follow_schedule(@default) : follow_schedule(schedule)
19
21
  end
20
22
 
21
23
  def follow_schedule(schedule)
@@ -27,7 +29,6 @@ module Sleeper
27
29
  period
28
30
  end
29
31
 
30
- # TODO: Hash reset should be separate method and should handle entire hash or specific keys.
31
32
  def reset(key=nil)
32
33
  return @schedule[key].reset unless key.nil?
33
34
 
@@ -38,7 +39,6 @@ module Sleeper
38
39
  else
39
40
  @schedule.reset
40
41
  end
41
- #key.nil? ? @schedule.reset : @schedule[key].reset
42
42
  end
43
43
 
44
44
  def default=(value)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sleeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: