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.
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: