emittance 0.0.4 → 0.0.5

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: 986843810de58a199f02fdf539d2bfb3dba43e6d
4
- data.tar.gz: dbdfc671b5dd1ec85d3722b4ffa7c30e9ec4d0a3
3
+ metadata.gz: d00db3f1aa0790c17aa370f2828521fdd26b6faa
4
+ data.tar.gz: 57d27c48984c030993a0a33b82ff828ca90f4f04
5
5
  SHA512:
6
- metadata.gz: a4369875f79828cb66bf11da0f57780f1dddacc55680ec50ffb3ee1980ad9f8b592600d313e7cd221c18733a4de34e107497d084d469313c794ade69105b3f10
7
- data.tar.gz: 8837f6c33c9f7c812c2ef64355af6f3d21e8b14b03522e37c9e934f5f5ab7b22a137a8eed77b6163aeb1715e2c66af49da96217ecfbb2447534347cf17d1f464
6
+ metadata.gz: ba6dc33ab2075c945f6d49790926297f19025c1a70493f771fd12b9f103a2d40f7c1804e35bf6d97c8b85bb7e9efcdd85c21052f1d40997f544fba7cdf4bdada
7
+ data.tar.gz: 1b9dbb91cb57c985f8b55ec7c3497775637e3a9365d26cb3795de2857305d91bc73988eb13c02696698e543b31b834bc771cf418e8f81fa73632c0f4ecbe2284
@@ -16,15 +16,6 @@ module Emittance
16
16
  def dispatcher
17
17
  const_get DISPATCHER_KLASS_NAME
18
18
  end
19
-
20
- def inherited(subklass)
21
- register_broker subklass
22
- super
23
- end
24
-
25
- def register_broker(broker)
26
- Emittance::Brokerage.register_broker broker
27
- end
28
19
  end
29
20
  end
30
21
  end
@@ -16,33 +16,39 @@ module Emittance
16
16
  broker.process_event event
17
17
  end
18
18
 
19
+ # @return [Class] the currently selected broker
19
20
  def broker
20
21
  @current_broker
21
22
  end
22
23
 
24
+ # @param identifier [Symbol] the symbol you have registered the broker to
23
25
  def use_broker(identifier)
24
26
  @current_broker = registry.fetch identifier
25
27
  end
26
28
 
27
29
  # @param broker [Emittance::Broker] the broker you would like to register
28
- def register_broker(broker)
29
- registry.register broker
30
+ def register_broker(broker, symbol)
31
+ registry.register broker, symbol
30
32
  end
31
33
 
34
+ # @return [Module] the registry containing all broker registrations
32
35
  def registry
33
36
  Emittance::Brokerage::Registry
34
37
  end
35
38
 
39
+ # Enables event propagation.
36
40
  def enable!
37
- @enabled = true
41
+ self.enabled = true
38
42
  end
39
43
 
44
+ # Disables event propagation.
40
45
  def disable!
41
- @enabled = false
46
+ self.enabled = false
42
47
  end
43
48
 
49
+ # @return [Boolean] true if event propagation is enabled, false otherwise
44
50
  def enabled?
45
- @enabled
51
+ enabled
46
52
  end
47
53
 
48
54
  private
@@ -55,25 +61,15 @@ module Emittance
55
61
  @brokers = {}
56
62
 
57
63
  class << self
58
- include Emittance::Helpers::StringHelpers
59
-
60
64
  attr_reader :brokers
61
65
 
62
- def register(broker)
63
- broker_sym = generate_broker_sym(broker)
64
- brokers[broker_sym] = broker
66
+ def register(broker, symbol)
67
+ brokers[symbol.to_sym] = broker
65
68
  end
66
69
 
67
70
  def fetch(broker_id)
68
71
  brokers[broker_id.to_sym]
69
72
  end
70
-
71
- private
72
-
73
- def generate_broker_sym(broker)
74
- camel_case = broker.name.split('::').last
75
- snake_case(camel_case).to_sym
76
- end
77
73
  end
78
74
  end
79
75
  end
@@ -15,3 +15,5 @@ module Emittance
15
15
  end
16
16
 
17
17
  require 'emittance/dispatchers/synchronous'
18
+
19
+ Emittance::Brokerage.register_broker Emittance::Synchronous, :synchronous
@@ -25,7 +25,7 @@ module Emittance
25
25
  def register(identifier, &callback)
26
26
  event_klass = find_event_klass identifier
27
27
  registrations[event_klass] ||= empty_registration
28
- registrations_for(event_klass) << Emittance::Registration.new(event_klass, &callback)
28
+ registrations_for(event_klass) << Registration.new(event_klass, &callback)
29
29
 
30
30
  callback
31
31
  end
@@ -61,6 +61,20 @@ module Emittance
61
61
  ->(event) { object.send method_name, event }
62
62
  end
63
63
  end
64
+
65
+ # @private
66
+ class Registration
67
+ attr_reader :event_klass
68
+
69
+ def initialize(event_klass, &callback)
70
+ @event_klass = event_klass
71
+ @callback = callback
72
+ end
73
+
74
+ def call(event)
75
+ @callback.call event
76
+ end
77
+ end
64
78
  end
65
79
  end
66
80
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Emittance
4
- VERSION = '0.0.4'
4
+ VERSION = '0.0.5'
5
5
  end
data/lib/emittance.rb CHANGED
@@ -8,7 +8,6 @@ require 'emittance/helpers/constant_helpers'
8
8
  require 'emittance/event_lookup'
9
9
  require 'emittance/brokerage'
10
10
  require 'emittance/broker'
11
- require 'emittance/registration'
12
11
  require 'emittance/event'
13
12
  require 'emittance/emitter'
14
13
  require 'emittance/watcher'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emittance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Guillen
@@ -127,7 +127,6 @@ files:
127
127
  - lib/emittance/event_lookup.rb
128
128
  - lib/emittance/helpers/constant_helpers.rb
129
129
  - lib/emittance/helpers/string_helpers.rb
130
- - lib/emittance/registration.rb
131
130
  - lib/emittance/version.rb
132
131
  - lib/emittance/watcher.rb
133
132
  homepage: https://github.com/aastronautss/emittance
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Emittance
4
- # @private
5
- class Registration
6
- attr_reader :event_klass
7
-
8
- def initialize(event_klass, &callback)
9
- @event_klass = event_klass
10
- @callback = callback
11
- end
12
-
13
- def call(event)
14
- @callback.call event
15
- end
16
- end
17
- end