perform-later 1.0.0.alpha.6 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01650959394c9104dcf5177ba9d445408731a78c
4
- data.tar.gz: cfcbfbe3e8870d8e4df0c874abd3305952fb3c6e
3
+ metadata.gz: c90d2b2f65c6546e2b193126a5606b0f50679e85
4
+ data.tar.gz: 09ab9e2522029ecbed19c9a3868add8ee95626c5
5
5
  SHA512:
6
- metadata.gz: b54ecd5be7f6b9431b53c00cfe4f200bc54d50e513655a978b00dfe8f092aa1451b7e8152ea75475290eee334aa1d40e0e75ada1d9c8282b198da2129e970a0a
7
- data.tar.gz: f6f729837467501ab300e18aeabb5c0d7c43974abc119f013ffcdce224e05bc0a7e0993b3b8c6dab0042dd5fd08a093a1f779e76cbf9f1d73556eb75440ab57e
6
+ metadata.gz: d89366a517c68bfd4c59cb7416f09b6186a9b0417d989ddd2164ca7c50e7c5f8de6cb43ee6db2ad2856a75af4ff2ba5141f761581d3ee20f844ddcf1b4842ab6
7
+ data.tar.gz: b5ed4862e8b26326cb5d065920fb990e36fbd2946134239461545d6c9cf4c1db5ee935250cf09293b252b8ca772e603f3220103ca5e6e59d6ab0568eb396fcab
data/lib/perform-later.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'sidekiq'
2
2
  require_relative 'perform_later/initialization'
3
3
  require_relative 'perform_later/aliasing'
4
+ require_relative 'perform_later/logging'
4
5
 
5
6
  module PerformLater
6
7
  def self.included(base)
@@ -8,6 +9,20 @@ module PerformLater
8
9
  prepend Initialization
9
10
  include ::Sidekiq::Worker
10
11
  extend Aliasing
12
+ include Logging
11
13
  end
12
14
  end
15
+
16
+ def self.logger
17
+ return @logger if defined?(@logger)
18
+ @logger = init_logger
19
+ end
20
+
21
+ def self.logger=(val)
22
+ @logger = val
23
+ end
24
+
25
+ def self.init_logger
26
+ Sidekiq.logger
27
+ end
13
28
  end
@@ -44,7 +44,9 @@ module PerformLater
44
44
  entry_point = aliases.delete_at(0)
45
45
  define_singleton_method entry_point, ->(*args) do
46
46
  args = call_before_serialize(config[:before_serialize], args)
47
- perform_async(method, *args)
47
+ perform_async(method, *args).tap do |id|
48
+ logger.debug(Messages::EnqueuedMessage.new(self, method, id))
49
+ end
48
50
  end
49
51
 
50
52
  aliases.each do | entry_point_alias |
@@ -54,6 +56,10 @@ module PerformLater
54
56
 
55
57
  private
56
58
 
59
+ def enqueued_payload
60
+
61
+ end
62
+
57
63
  def call_before_serialize(call, args)
58
64
  case call
59
65
  when Symbol
@@ -0,0 +1,20 @@
1
+ require_relative 'messages'
2
+
3
+ module PerformLater
4
+ module Logging
5
+
6
+ def self.included(base)
7
+ base.extend ClassMethods
8
+ end
9
+
10
+ module ClassMethods
11
+ def logger
12
+ PerformLater.logger
13
+ end
14
+ end
15
+
16
+ def logger
17
+ self.class.logger
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+ require 'delegate'
2
+ require_relative 'messages/enqueued_message'
3
+
4
+ module PerformLater
5
+ # message classes that are hashes but inspect as readable strings
6
+ # to support both string based and hash/json/kvp based log formatters
7
+ module Messages
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ module PerformLater::Messages
2
+ class EnqueuedMessage < SimpleDelegator
3
+
4
+ def initialize(klass, method, id)
5
+ super({ class: klass.name,
6
+ method: method,
7
+ job_id: id,
8
+ msg: "queued for later execution" })
9
+ end
10
+
11
+ def inspect
12
+ "#{fetch(:class)}##{fetch(:method)} #{fetch(:msg)}. job_id=#{fetch(:job_id)}"
13
+ end
14
+
15
+ def to_s
16
+ inspect
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module PerformLater
2
+ VERSION = "1.0.0"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perform-later
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Prothro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-14 00:00:00.000000000 Z
11
+ date: 2017-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -25,61 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.4'
33
+ version: '1.10'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.4'
41
- - !ruby/object:Gem::Dependency
42
- name: generator_spec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '0.9'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '0.9'
55
- - !ruby/object:Gem::Dependency
56
- name: byebug
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: benchmark-ips
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
40
+ version: '1.10'
83
41
  description: perform-later provides asyncronous worker/job support for objects with
84
42
  a convention that encourages better object oriented design. It is a simple and lightweight
85
43
  adapter that helps decouple job/worker initialization from object behavior/logic/algorithm.
@@ -94,6 +52,10 @@ files:
94
52
  - lib/perform_later/aliasing.rb
95
53
  - lib/perform_later/delegation.rb
96
54
  - lib/perform_later/initialization.rb
55
+ - lib/perform_later/logging.rb
56
+ - lib/perform_later/messages.rb
57
+ - lib/perform_later/messages/enqueued_message.rb
58
+ - lib/perform_later/version.rb
97
59
  homepage: https://github.com/eprothro/perform-later
98
60
  licenses:
99
61
  - MIT
@@ -109,9 +71,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
71
  version: 2.2.0
110
72
  required_rubygems_version: !ruby/object:Gem::Requirement
111
73
  requirements:
112
- - - ">"
74
+ - - ">="
113
75
  - !ruby/object:Gem::Version
114
- version: 1.3.1
76
+ version: '0'
115
77
  requirements: []
116
78
  rubyforge_project:
117
79
  rubygems_version: 2.5.2