sleeper 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/sleeper/timer.rb +5 -5
- metadata +1 -1
data/lib/sleeper/timer.rb
CHANGED
@@ -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
|
-
|
18
|
-
|
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)
|