jobtick 0.1.2 → 0.1.3

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
  SHA256:
3
- metadata.gz: dff65ac46c3a2ce39e670a9b940726f11e7f72ab5695812031417097fbf6e2d6
4
- data.tar.gz: bb6044dd0c4c43c9e956de1eec4a5f2032ba6787aebfb9f1ddae8267ff79c35a
3
+ metadata.gz: 9fbf13c9887fe65ec082ad5a3515ec3d2767330318e9fbeafca2731f6ea7e1f3
4
+ data.tar.gz: 7c1624eaa666bdec4318d087f7d4bd264f6abbe03091ad9746d88a001f2e1bf2
5
5
  SHA512:
6
- metadata.gz: 80ac95fe4fa508de3656ed0cc187657e9e3c2be0f68a76451dc4e1b0633a51b81e4f86ec0665163278daeb12d64e374f0496f6a1c1c7596aac673519cdc6fc87
7
- data.tar.gz: c0ce19f6cc1b5cf3f7bad98a38448bf012dafb09dd74fade6934b797ab94f05f82971d5e49cad5a3067f862b29d3cb65f373d8b139468d5912cbc7f7cdb15271
6
+ metadata.gz: 7b1b71c36e97bd70144c69118d7af1af461424529fc92bfa7926bc2289fcecd65e92ad7ac49652dcd413244e4258dbdf9087424dd44ee5b392909fb4be771f8d
7
+ data.tar.gz: 7f32abaf56da135c05d76dd5f1b77043d29bf6f99c919059b138367a1e21abd06460eaa5496f42655026e23f17f740b044e6c46f249849cf27fde2f9c46deea5
@@ -6,11 +6,9 @@ module JobTick
6
6
  def self.included(base)
7
7
  base.around_perform do |job, block|
8
8
  key = JobTick.monitor_key_for(job.class.name)
9
- if key
10
- JobTick::Monitor.run(key) { block.call }
11
- else
12
- block.call
13
- end
9
+ next block.call unless key
10
+
11
+ JobTick::Monitor.run(key) { block.call }
14
12
  end
15
13
  end
16
14
  end
@@ -3,14 +3,14 @@
3
3
  module JobTick
4
4
  module Middleware
5
5
  class Sidekiq
6
- def call(_worker, job, _queue)
6
+ def call(_worker, job, _queue, &)
7
7
  # Active Job wrappers are handled by the around_perform hook
8
8
  return yield if job["wrapped"]
9
9
 
10
10
  key = JobTick.monitor_key_for(job["class"])
11
11
  return yield unless key
12
12
 
13
- JobTick::Monitor.run(key) { yield }
13
+ JobTick::Monitor.run(key, &)
14
14
  end
15
15
 
16
16
  def self.install
@@ -2,6 +2,10 @@
2
2
 
3
3
  module JobTick
4
4
  module Parsers
5
+ def self.slugify(str)
6
+ str.downcase.gsub(/[^a-z0-9]+/, "_").gsub(/\A_+|_+\z/, "")
7
+ end
8
+
5
9
  class Sidekiq
6
10
  def self.parse
7
11
  return [] unless defined?(::Sidekiq)
@@ -16,7 +20,7 @@ module JobTick
16
20
 
17
21
  def self.parse_cron_jobs
18
22
  ::Sidekiq::Cron::Job.all.map do |job|
19
- { key: "sidekiq.#{slugify(job.name)}", schedule: job.cron, source: "sidekiq", task: job.klass }
23
+ { key: "sidekiq.#{Parsers.slugify(job.name)}", schedule: job.cron, source: "sidekiq", task: job.klass }
20
24
  end
21
25
  end
22
26
  private_class_method :parse_cron_jobs
@@ -24,17 +28,12 @@ module JobTick
24
28
  def self.parse_periodic_jobs
25
29
  periodic = sidekiq_periodic_config
26
30
  (periodic || []).map do |klass, opts|
27
- { key: "sidekiq.#{slugify(klass.to_s)}", schedule: opts[:cron] || opts[:every].to_s,
31
+ { key: "sidekiq.#{Parsers.slugify(klass.to_s)}", schedule: opts[:cron] || opts[:every].to_s,
28
32
  source: "sidekiq", task: klass.to_s }
29
33
  end
30
34
  end
31
35
  private_class_method :parse_periodic_jobs
32
36
 
33
- def self.slugify(str)
34
- str.downcase.gsub(/[^a-z0-9]+/, "_").gsub(/\A_+|_+\z/, "")
35
- end
36
- private_class_method :slugify
37
-
38
37
  def self.sidekiq_periodic_config
39
38
  if ::Sidekiq.respond_to?(:default_configuration)
40
39
  ::Sidekiq.default_configuration[:periodic]
@@ -26,9 +26,7 @@ module JobTick
26
26
  end
27
27
 
28
28
  def self.job_key(job)
29
- task = job[:task].to_s.strip
30
- slug = task.downcase.gsub(/[^a-z0-9]+/, "_").gsub(/\A_+|_+\z/, "")
31
- "whenever.#{slug}"
29
+ "whenever.#{Parsers.slugify(job[:task].to_s.strip)}"
32
30
  end
33
31
  private_class_method :job_key
34
32
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JobTick
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
data/lib/jobtick.rb CHANGED
@@ -37,12 +37,10 @@ module JobTick
37
37
  @monitor_map ||= {}
38
38
  end
39
39
 
40
- def monitor_map=(map)
41
- @monitor_map = map
42
- end
40
+ attr_writer :monitor_map
43
41
 
44
42
  def monitor_key_for(class_name)
45
- monitor_map[class_name.to_s]
43
+ monitor_map[class_name]
46
44
  end
47
45
 
48
46
  def reset!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jobtick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clearstack Labs