sidekiq-cron 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fee94038858506eefe77c7b4a8881a0923e2428
4
- data.tar.gz: eb5ba565bd6869c554c137cefe703f689cbc0c4b
3
+ metadata.gz: 1c9490a07af91904810a5289c0899691f70bb56b
4
+ data.tar.gz: 4d79c982c22844a7f7fa887dde61925aaa26e48e
5
5
  SHA512:
6
- metadata.gz: 8c378f2be21943897c6b275cb7bdd4bc973f586d2a3da59a7815c78e918edb5ddcfee6aed233ffdc901b686baaf7a3c66f28376836093fcb8eb1956646aea0b2
7
- data.tar.gz: 20fa4ed75821bb30805303d2b6ac1354fc7669d70c125d2f4f9af81c98d151feae36d2806921dd5debdf0721cfb6d0171e8000abc6c5008c5f9cece50d5bb321
6
+ metadata.gz: c9717f01b61187ffb9cc2024ac3de6a01a1641159ef5f0013f742858a932b01c5a89dcb37abb254484cc1ca9edb6da10cf96fa7d0b2b068199945db18e855c3b
7
+ data.tar.gz: a06735e8a699441b6b9a0218e99949710b44dc2a1fdf92725fe865594687e428cd7509efd04023a9a09d5f4580466ab117ad6ccc471ab2797fae804fef9a3ea8
data/Gemfile CHANGED
@@ -27,6 +27,6 @@ group :development do
27
27
 
28
28
  gem 'shotgun'
29
29
 
30
- # gem 'guard'
31
- # gem 'guard-minitest'
30
+ gem 'guard'
31
+ gem 'guard-minitest'
32
32
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.2
1
+ 0.6.3
@@ -1,6 +1,7 @@
1
1
  require 'sidekiq'
2
2
  require 'sidekiq/util'
3
3
  require 'rufus-scheduler'
4
+ require 'sidekiq/cron/support'
4
5
 
5
6
  module Sidekiq
6
7
  module Cron
@@ -49,7 +50,7 @@ module Sidekiq
49
50
 
50
51
  klass_const =
51
52
  begin
52
- @klass.to_s.constantize
53
+ Sidekiq::Cron::Support.constantize(@klass.to_s)
53
54
  rescue NameError
54
55
  nil
55
56
  end
@@ -73,7 +74,7 @@ module Sidekiq
73
74
  end
74
75
 
75
76
  def is_active_job?
76
- @active_job || defined?(ActiveJob::Base) && @klass.to_s.constantize < ActiveJob::Base
77
+ @active_job || defined?(ActiveJob::Base) && Sidekiq::Cron::Support.constantize(@klass.to_s) < ActiveJob::Base
77
78
  rescue NameError
78
79
  false
79
80
  end
@@ -296,18 +297,19 @@ module Sidekiq
296
297
 
297
298
  #get right data for message
298
299
  #only if message wasn't specified before
299
- message_data = case @klass
300
+ klass_data = case @klass
300
301
  when Class
301
- @klass.get_sidekiq_options.merge(message_data)
302
+ @klass.get_sidekiq_options
302
303
  when String
303
304
  begin
304
- @klass.constantize.get_sidekiq_options.merge(message_data)
305
- rescue
305
+ Sidekiq::Cron::Support.constantize(@klass).get_sidekiq_options
306
+ rescue Exception => e
306
307
  #Unknown class
307
- message_data.merge("queue"=>"default")
308
+ {"queue"=>"default"}
308
309
  end
309
310
  end
310
311
 
312
+ message_data = klass_data.merge(message_data)
311
313
  #override queue if setted in config
312
314
  #only if message is hash - can be string (dumped JSON)
313
315
  if args['queue']
@@ -0,0 +1,38 @@
1
+ # https://github.com/rails/rails/blob/352865d0f835c24daa9a2e9863dcc9dde9e5371a/activesupport/lib/active_support/inflector/methods.rb#L270
2
+
3
+ module Sidekiq
4
+ module Cron
5
+ module Support
6
+ def self.constantize(camel_cased_word)
7
+ names = camel_cased_word.split("::".freeze)
8
+
9
+ # Trigger a built-in NameError exception including the ill-formed constant in the message.
10
+ Object.const_get(camel_cased_word) if names.empty?
11
+
12
+ # Remove the first blank element in case of '::ClassName' notation.
13
+ names.shift if names.size > 1 && names.first.empty?
14
+
15
+ names.inject(Object) do |constant, name|
16
+ if constant == Object
17
+ constant.const_get(name)
18
+ else
19
+ candidate = constant.const_get(name)
20
+ next candidate if constant.const_defined?(name, false)
21
+ next candidate unless Object.const_defined?(name)
22
+
23
+ # Go down the ancestors to check if it is owned directly. The check
24
+ # stops when we reach Object or the end of ancestors tree.
25
+ constant = constant.ancestors.inject(constant) do |const, ancestor|
26
+ break const if ancestor == Object
27
+ break ancestor if ancestor.const_defined?(name, false)
28
+ const
29
+ end
30
+
31
+ # owner is in Object, so raise
32
+ constant.const_get(name, false)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: sidekiq-cron 0.6.2 ruby lib
5
+ # stub: sidekiq-cron 0.6.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "sidekiq-cron"
9
- s.version = "0.6.2"
9
+ s.version = "0.6.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
39
39
  "lib/sidekiq/cron/locales/en.yml",
40
40
  "lib/sidekiq/cron/locales/ru.yml",
41
41
  "lib/sidekiq/cron/poller.rb",
42
+ "lib/sidekiq/cron/support.rb",
42
43
  "lib/sidekiq/cron/views/cron.erb",
43
44
  "lib/sidekiq/cron/views/cron.slim",
44
45
  "lib/sidekiq/cron/web.rb",
@@ -52,7 +53,7 @@ Gem::Specification.new do |s|
52
53
  ]
53
54
  s.homepage = "http://github.com/ondrejbartas/sidekiq-cron"
54
55
  s.licenses = ["MIT"]
55
- s.rubygems_version = "2.4.5"
56
+ s.rubygems_version = "2.5.1"
56
57
  s.summary = "Sidekiq Cron helps to add repeated scheduled jobs"
57
58
 
58
59
  if s.respond_to? :specification_version then
@@ -76,6 +77,8 @@ Gem::Specification.new do |s|
76
77
  s.add_development_dependency(%q<mocha>, [">= 0"])
77
78
  s.add_development_dependency(%q<coveralls>, [">= 0"])
78
79
  s.add_development_dependency(%q<shotgun>, [">= 0"])
80
+ s.add_development_dependency(%q<guard>, [">= 0"])
81
+ s.add_development_dependency(%q<guard-minitest>, [">= 0"])
79
82
  else
80
83
  s.add_dependency(%q<sidekiq>, [">= 4.2.1"])
81
84
  s.add_dependency(%q<rufus-scheduler>, [">= 3.3.0"])
@@ -94,6 +97,8 @@ Gem::Specification.new do |s|
94
97
  s.add_dependency(%q<mocha>, [">= 0"])
95
98
  s.add_dependency(%q<coveralls>, [">= 0"])
96
99
  s.add_dependency(%q<shotgun>, [">= 0"])
100
+ s.add_dependency(%q<guard>, [">= 0"])
101
+ s.add_dependency(%q<guard-minitest>, [">= 0"])
97
102
  end
98
103
  else
99
104
  s.add_dependency(%q<sidekiq>, [">= 4.2.1"])
@@ -113,6 +118,8 @@ Gem::Specification.new do |s|
113
118
  s.add_dependency(%q<mocha>, [">= 0"])
114
119
  s.add_dependency(%q<coveralls>, [">= 0"])
115
120
  s.add_dependency(%q<shotgun>, [">= 0"])
121
+ s.add_dependency(%q<guard>, [">= 0"])
122
+ s.add_dependency(%q<guard-minitest>, [">= 0"])
116
123
  end
117
124
  end
118
125
 
@@ -44,9 +44,11 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
44
44
  $LOAD_PATH.unshift(File.dirname(__FILE__))
45
45
  require 'sidekiq-cron'
46
46
  require 'sidekiq/cron/web'
47
+ require 'pp'
47
48
 
48
49
  class CronTestClass
49
50
  include Sidekiq::Worker
51
+ sidekiq_options retry: true
50
52
 
51
53
  def perform args = {}
52
54
  puts "super croned job #{args}"
@@ -55,7 +57,7 @@ end
55
57
 
56
58
  class CronTestClassWithQueue
57
59
  include Sidekiq::Worker
58
- sidekiq_options :queue => :super, :retry => false, :backtrace => true
60
+ sidekiq_options queue: :super, retry: false, backtrace: true
59
61
 
60
62
  def perform args = {}
61
63
  puts "super croned job #{args}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-cron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondrej Bartas
@@ -248,6 +248,34 @@ dependencies:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: guard
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: guard-minitest
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
251
279
  description: Enables to set jobs to be run in specified time (using CRON notation)
252
280
  email: ondrej@bartas.cz
253
281
  executables: []
@@ -276,6 +304,7 @@ files:
276
304
  - lib/sidekiq/cron/locales/en.yml
277
305
  - lib/sidekiq/cron/locales/ru.yml
278
306
  - lib/sidekiq/cron/poller.rb
307
+ - lib/sidekiq/cron/support.rb
279
308
  - lib/sidekiq/cron/views/cron.erb
280
309
  - lib/sidekiq/cron/views/cron.slim
281
310
  - lib/sidekiq/cron/web.rb
@@ -306,7 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
306
335
  version: '0'
307
336
  requirements: []
308
337
  rubyforge_project:
309
- rubygems_version: 2.4.5
338
+ rubygems_version: 2.5.1
310
339
  signing_key:
311
340
  specification_version: 4
312
341
  summary: Sidekiq Cron helps to add repeated scheduled jobs