observers 0.7.0 → 0.8.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
  SHA256:
3
- metadata.gz: e2d0c58f136cc23164aa0cf64ded4ff642c86d8f82842fedaf459a0205024b17
4
- data.tar.gz: 4ab7392ec00ad1fcb13ad891051c807c40c496037bcd6e730c9692f9c6acfdbb
3
+ metadata.gz: '03108108c365bb1857d0ff575823ba87a1c530e0c83014534e8f6d696ea0a3dd'
4
+ data.tar.gz: be85d6ddfe681c52ea79b3f09dc1538c1da6c494fbf8667cc2a98237f3e1c12e
5
5
  SHA512:
6
- metadata.gz: fb4a46da4a46c8036f5f8acdebff74817138eb3566db27e929054d4b6d4670715324cb31cead6371bcd45b6f1ea11b927aadb8508dc5707bd417a8c6d7631e2b
7
- data.tar.gz: e30650c3284a90f0a94c6fbf80ab0aa549e8676b2f93531d4d99da16944f4e0fa70922a220c224b41ccf8e839dfa01b2162a08c936a56c12350e1b6445a9c232
6
+ metadata.gz: d3845675c5749e181bea80f4082ab86df3072258867847562a214e872f02bc668688dc41e02e95e5ab91c3c2bd5649986cc850c108141b06f8c40054fd97b010
7
+ data.tar.gz: 94ca9aaedd1c66bc410115e4bd9426a38dd497eaa8563d68488a4fb4b917d9e7150f31e64735fdffd058bb669570bcf81bb9c91e70904882cc902933b2fafb89
data/lib/models/key.rb CHANGED
@@ -17,7 +17,7 @@ module Observers
17
17
 
18
18
  # @returns: The result of the last observer with a non-nil value.
19
19
  def trigger(action: nil, event: nil)
20
- key_callback
20
+ empty_observers_callback
21
21
 
22
22
  action = event.action if event && action.nil?
23
23
  action = :handle if action.nil?
@@ -35,7 +35,7 @@ module Observers
35
35
 
36
36
  # @returns: The result of the first observer with a non-nil value.
37
37
  def take(action: nil, event: nil)
38
- key_callback
38
+ empty_observers_callback
39
39
 
40
40
  action = event.action if event && action.nil?
41
41
  action = :handle if action.nil?
@@ -51,8 +51,8 @@ module Observers
51
51
 
52
52
  private
53
53
 
54
- def key_callback
55
- Observers.config.key_callback.call(@key) if Observers.config.key_callback && @observers.empty?
54
+ def empty_observers_callback
55
+ Observers.config.empty_observers_callback.call(@key) if Observers.config.empty_observers_callback && @observers.empty?
56
56
  end
57
57
  end
58
58
  end
@@ -11,7 +11,13 @@ module Observers
11
11
 
12
12
  def trigger(action:, event:)
13
13
  action = @action if @action
14
- event ? @object.send(action, **{ event: }) : @object.send(action)
14
+
15
+ # Assumption that if method has params then that param is "event:".
16
+ if event && @object.method(action).parameters.count > 0
17
+ @object.send(action, **{ event: })
18
+ else
19
+ @object.send(action)
20
+ end
15
21
  rescue ArgumentError => e
16
22
  type = @object.instance_of?(Class) ? @object : @object.class
17
23
  method_type = @object.instance_of?(Class) ? '.' : '#'
data/lib/observers.rb CHANGED
@@ -4,7 +4,7 @@ require_relative 'keys'
4
4
  require_relative 'models/observer'
5
5
 
6
6
  module Observers
7
- Config = Struct.new(:key_callback)
7
+ Config = Struct.new(:empty_observers_callback)
8
8
 
9
9
  class << self
10
10
  def [](key)
@@ -16,7 +16,7 @@ module Observers
16
16
  end
17
17
 
18
18
  def config
19
- @config ||= Config.new(key_callback: nil)
19
+ @config ||= Config.new(empty_observers_callback: nil)
20
20
  end
21
21
 
22
22
  def configure
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Observers
4
- VERSION = '0.7.0'
4
+ VERSION = '0.8.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: observers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi
@@ -21,11 +21,11 @@ files:
21
21
  - lib/models/observer.rb
22
22
  - lib/observers.rb
23
23
  - lib/version.rb
24
- homepage: https://github.com/maedi/observers
24
+ homepage: https://github.com/raindeer-rb/observers
25
25
  licenses: []
26
26
  metadata:
27
- homepage_uri: https://github.com/maedi/observers
28
- source_code_uri: https://github.com/maedi/observers/src/branch/main
27
+ homepage_uri: https://github.com/raindeer-rb/observers
28
+ source_code_uri: https://github.com/raindeer-rb/observers/src/branch/main
29
29
  rdoc_options: []
30
30
  require_paths:
31
31
  - lib
@@ -40,7 +40,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  requirements: []
43
- rubygems_version: 4.0.6
43
+ rubygems_version: 4.0.10
44
44
  specification_version: 4
45
45
  summary: Observe objects of any kind
46
46
  test_files: []