say_when 2.0.1 → 2.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c4aba1da4815544d6733948a2ee328978dbb8418
4
- data.tar.gz: 3f204ffeb70c5890d190630f1a048c60eba9e20f
3
+ metadata.gz: 659f1d92ff0ba2e4ca3c162ab36255868cfa4f1e
4
+ data.tar.gz: fd29bc29fbf787899ce18dcf91b165a684c205cc
5
5
  SHA512:
6
- metadata.gz: 630492044fb4b69bd19c94a018abb93f180d9147f09810339dcc54f08e08ceabbe2b3fe651b8c016af6912c8f50a0ce7eab8fdb3fa0d4d7e90790404c0005721
7
- data.tar.gz: 5f89922b266b75449e5bcc88c804e61672b19a7c730b837a1ba973a24efc3df75463105051e9f575116b90899a0b57a6fbb5b2a6b7839d2c22b907e0971c3064
6
+ metadata.gz: 1a7c57379229dc78237034625d3cbbb75089c35aef118976b0b2252e7d58a8a214c98f7018aa5584c868c8d74d34dbe46c9003c725d7a34502a67d2668d3e5f2
7
+ data.tar.gz: c31787d123c46fd1892291ed1d5f96d2859f8c76d7e7f18588d440c98b5fc55425243390348c7a614386177cefd43efe92658f163f6daf646856a63e35258cdc
@@ -46,12 +46,16 @@ module SayWhen
46
46
  end
47
47
 
48
48
  def job_options(job)
49
- {
49
+ opts = {
50
50
  scheduled: extract_scheduled(job),
51
51
  job_class: extract_job_class(job),
52
52
  job_method: extract_job_method(job),
53
53
  data: extract_data(job)
54
54
  }
55
+ unless opts[:scheduled] || opts[:job_class]
56
+ raise "No job class or scheduled option: #{job.inspect}\nopts: #{opts.inspect}"
57
+ end
58
+ opts
55
59
  end
56
60
 
57
61
  def extract_scheduled(job)
@@ -59,19 +63,13 @@ module SayWhen
59
63
  end
60
64
 
61
65
  def extract_job_class(job)
62
- job_class = if job.is_a?(Hash)
66
+ if job.is_a?(Hash)
63
67
  job[:class] || job[:job_class]
64
68
  elsif job.is_a?(Class)
65
69
  job.name
66
70
  elsif job.is_a?(String)
67
71
  job
68
72
  end
69
-
70
- if !job_class
71
- raise "Could not identify job class from: #{job}"
72
- end
73
-
74
- job_class
75
73
  end
76
74
 
77
75
  def extract_job_method(job)
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module SayWhen
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.2'
5
5
  end
@@ -26,16 +26,16 @@ describe SayWhen::Scheduler do
26
26
  scheduler.extract_job_class(class: 'foo').must_equal 'foo'
27
27
  scheduler.extract_job_class(SayWhen::Test::TestTask).must_equal 'SayWhen::Test::TestTask'
28
28
  scheduler.extract_job_class('SayWhen::Test::TestTask').must_equal 'SayWhen::Test::TestTask'
29
-
30
- lambda do
31
- scheduler.extract_job_class(bar: 'foo')
32
- end.must_raise RuntimeError
33
29
  end
34
30
 
35
31
  it 'gets job options' do
36
32
  keys = [:job_class, :job_method, :data]
37
33
  opts = scheduler.job_options(keys.inject({}) { |s, k| s[k] = k.to_s; s } )
38
34
  keys.each{|k| opts[k].must_equal k.to_s }
35
+
36
+ lambda do
37
+ scheduler.job_options(bar: 'foo')
38
+ end.must_raise RuntimeError
39
39
  end
40
40
 
41
41
  it 'can schedule a new job' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: say_when
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kuklewicz