wisper-activejob-broadcaster 0.1.0 → 0.3.1

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
- SHA1:
3
- metadata.gz: 2163806230fd5cb2f983b6e2deeede6f3ea350ed
4
- data.tar.gz: 5d912dcf4f84c6052838aa6641d0181aa45866b0
2
+ SHA256:
3
+ metadata.gz: b9a71b78c8dce651ad7dc5bb6405a3c83efee058a0cd2ecbf5108b268a2637ad
4
+ data.tar.gz: ce1d9c3d35d8d5c7e9e2144172b26a5d950f3cb26b73573676185694881e5a27
5
5
  SHA512:
6
- metadata.gz: 9e58f118b1af2b9bf88b5434750ffa40cddd3d9f47dee7189b4c500749a48d651fe2b066cdae28731bbd14bc88fab9297bb3ee7231660bf2c48712784c67d92a
7
- data.tar.gz: 0970c5d15f8e99172aac2c6467d04c5f627a38f578ef8247a35c98d861242ee4568771535ab366d1a93229354b6c46044e6d0042e1efb3a644df2ef34fa205f5
6
+ metadata.gz: e4493c88e6991553d4711e1f15da09d9b0aa5d67265c3fe49fab684db112039b6f664cbd3b7eed1e2060a28cdbe09757dc4331f4823dbd17965498c640ded53d
7
+ data.tar.gz: b7e534ec1444653415ee134076fbaf8e16258c4d04970170d3dbccf4df8528c3495681e56187f87cad841766282ff7663f9f7e5cebd0b7a6a7cfae33c565349e
data/.gitignore CHANGED
@@ -1,6 +1,9 @@
1
+ # bundler state
2
+ vendor/bundle/
3
+ vendor/ruby/
4
+
1
5
  /.bundle/
2
6
  /.yardoc
3
- /Gemfile.lock
4
7
  /_yardoc/
5
8
  /coverage/
6
9
  /doc/
@@ -0,0 +1,16 @@
1
+ version: v1.0
2
+ name: Ruby
3
+ agent:
4
+ machine:
5
+ type: e1-standard-2
6
+ os_image: ubuntu2004
7
+ blocks:
8
+ - name: bundle exec rspec
9
+ task:
10
+ jobs:
11
+ - name: bundle install
12
+ commands:
13
+ - checkout
14
+ - sem-version ruby 3.0.3
15
+ - bundle install --deployment --path vendor/bundle
16
+ - bundle exec rspec
data/Gemfile.lock ADDED
@@ -0,0 +1,55 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ wisper-activejob-broadcaster (0.3.1)
5
+ activejob
6
+ wisper
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activejob (7.0.1)
12
+ activesupport (= 7.0.1)
13
+ globalid (>= 0.3.6)
14
+ activesupport (7.0.1)
15
+ concurrent-ruby (~> 1.0, >= 1.0.2)
16
+ i18n (>= 1.6, < 2)
17
+ minitest (>= 5.1)
18
+ tzinfo (~> 2.0)
19
+ concurrent-ruby (1.1.9)
20
+ diff-lcs (1.5.0)
21
+ globalid (1.0.0)
22
+ activesupport (>= 5.0)
23
+ i18n (1.9.1)
24
+ concurrent-ruby (~> 1.0)
25
+ minitest (5.15.0)
26
+ rake (13.0.6)
27
+ rspec (3.10.0)
28
+ rspec-core (~> 3.10.0)
29
+ rspec-expectations (~> 3.10.0)
30
+ rspec-mocks (~> 3.10.0)
31
+ rspec-core (3.10.1)
32
+ rspec-support (~> 3.10.0)
33
+ rspec-expectations (3.10.1)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.10.0)
36
+ rspec-mocks (3.10.2)
37
+ diff-lcs (>= 1.2.0, < 2.0)
38
+ rspec-support (~> 3.10.0)
39
+ rspec-support (3.10.3)
40
+ tzinfo (2.0.4)
41
+ concurrent-ruby (~> 1.0)
42
+ wisper (2.0.1)
43
+
44
+ PLATFORMS
45
+ x86_64-darwin-20
46
+ x86_64-linux
47
+
48
+ DEPENDENCIES
49
+ bundler (~> 2.1)
50
+ rake (>= 12.3.3)
51
+ rspec
52
+ wisper-activejob-broadcaster!
53
+
54
+ BUNDLED WITH
55
+ 2.2.32
data/README.md CHANGED
@@ -40,5 +40,5 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
40
40
 
41
41
  ## Contributing
42
42
 
43
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/wisper-activejob-broadcaster.
43
+ Bug reports and pull requests are welcome on GitHub at https://github.com/betterup/wisper-activejob-broadcaster.
44
44
 
@@ -1,7 +1,7 @@
1
1
  module Wisper
2
2
  module Activejob
3
3
  module Broadcaster
4
- VERSION = "0.1.0"
4
+ VERSION = '0.3.1'.freeze
5
5
  end
6
6
  end
7
7
  end
@@ -5,7 +5,47 @@ module Wisper
5
5
  module Broadcasters
6
6
  class ActiveJobBroadcaster
7
7
  def broadcast(subscriber, _publisher, event, args)
8
- subscriber.class.perform_later(event, args)
8
+ subscriber.class.perform_later(event, args) if perform?(subscriber, event, args)
9
+ end
10
+
11
+ private
12
+
13
+ def perform?(subscriber, event, args)
14
+ # If a predicate method of the format "event_name?" is defined on the subscriber, only run
15
+ # the subscriber if it evaluates to true
16
+ return subscriber.send("perform_#{event}?", *args) if subscriber.respond_to?("perform_#{event}?", true)
17
+
18
+ true
19
+ rescue StandardError
20
+ raise DispatchError.new(subscriber, event, args)
21
+ end
22
+
23
+ class DispatchError < StandardError
24
+ def initialize(subscriber, event, args)
25
+ super("Unable to perform #{name(subscriber)}##{event}(#{args_info(args)})")
26
+ end
27
+
28
+ private
29
+
30
+ # Copied from LoggerBroadcaster
31
+ def name(object)
32
+ id_method = %w(id uuid key object_id).find do |method_name|
33
+ object.respond_to?(method_name) && object.method(method_name).arity <= 0
34
+ end
35
+ id = object.send(id_method)
36
+ class_name = object.class == Class ? object.name : object.class.name
37
+ "#{class_name}##{id}"
38
+ end
39
+
40
+ def args_info(args)
41
+ return if args.empty?
42
+
43
+ args.map do |arg|
44
+ arg_string = name(arg)
45
+ arg_string += ": #{arg.inspect}" if [Numeric, Array, Hash, String].any? {|klass| arg.is_a?(klass) }
46
+ arg_string
47
+ end.join(', ')
48
+ end
9
49
  end
10
50
  end
11
51
  end
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = %q{Broadcast wisper events into activejob queues}
13
13
  spec.homepage = "https://github.com/betterup/wisper-activejob-broadcaster"
14
+ spec.license = 'MIT'
14
15
 
15
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
17
  spec.bindir = "exe"
@@ -20,7 +21,7 @@ Gem::Specification.new do |spec|
20
21
  spec.add_runtime_dependency "wisper"
21
22
  spec.add_runtime_dependency "activejob"
22
23
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "bundler", "~> 2.1"
25
+ spec.add_development_dependency "rake", ">= 12.3.3"
25
26
  spec.add_development_dependency "rspec"
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wisper-activejob-broadcaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - BetterUp Developers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-22 00:00:00.000000000 Z
11
+ date: 2022-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wisper
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.10'
47
+ version: '2.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.10'
54
+ version: '2.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: 12.3.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: 12.3.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description:
83
+ description:
84
84
  email:
85
85
  - developers@betterup.co
86
86
  executables: []
@@ -89,8 +89,9 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
- - ".travis.yml"
92
+ - ".semaphore/semaphore.yml"
93
93
  - Gemfile
94
+ - Gemfile.lock
94
95
  - README.md
95
96
  - Rakefile
96
97
  - bin/console
@@ -99,9 +100,10 @@ files:
99
100
  - lib/wisper/activejob/broadcaster/version.rb
100
101
  - wisper-activejob-broadcaster.gemspec
101
102
  homepage: https://github.com/betterup/wisper-activejob-broadcaster
102
- licenses: []
103
+ licenses:
104
+ - MIT
103
105
  metadata: {}
104
- post_install_message:
106
+ post_install_message:
105
107
  rdoc_options: []
106
108
  require_paths:
107
109
  - lib
@@ -116,10 +118,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
118
  - !ruby/object:Gem::Version
117
119
  version: '0'
118
120
  requirements: []
119
- rubyforge_project:
120
- rubygems_version: 2.4.8
121
- signing_key:
121
+ rubygems_version: 3.2.25
122
+ signing_key:
122
123
  specification_version: 4
123
124
  summary: Broadcast wisper events into activejob queues
124
125
  test_files: []
125
- has_rdoc:
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.3
4
- before_install: gem install bundler -v 1.10.6