sleeper 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|