evil_events 0.1.1 → 0.2.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 +4 -4
- data/.rubocop.yml +17 -1
- data/.travis.yml +1 -1
- data/CHANGELOG.md +29 -1
- data/evil_events.gemspec +17 -16
- data/lib/evil_events.rb +3 -1
- data/lib/evil_events/application.rb +16 -0
- data/lib/evil_events/config.rb +23 -6
- data/lib/evil_events/{adapters.rb → config/adapters.rb} +4 -4
- data/lib/evil_events/config/types.rb +24 -0
- data/lib/evil_events/core.rb +1 -0
- data/lib/evil_events/core/bootstrap.rb +1 -1
- data/lib/evil_events/core/broadcasting/emitter.rb +1 -1
- data/lib/evil_events/core/error.rb +8 -0
- data/lib/evil_events/core/events.rb +3 -0
- data/lib/evil_events/core/events/abstract_event.rb +2 -0
- data/lib/evil_events/core/events/event_extensions/class_signature.rb +30 -0
- data/lib/evil_events/core/events/event_extensions/class_signature/equalizer.rb +82 -0
- data/lib/evil_events/core/events/event_extensions/class_signature/signature.rb +70 -0
- data/lib/evil_events/core/events/event_extensions/metadata_extendable.rb +16 -4
- data/lib/evil_events/core/events/event_extensions/payloadable.rb +16 -4
- data/lib/evil_events/core/events/event_extensions/type_aliasing.rb +1 -1
- data/lib/evil_events/core/events/event_factory.rb +7 -2
- data/lib/evil_events/core/events/manager.rb +1 -1
- data/lib/evil_events/core/events/manager/notifier.rb +2 -1
- data/lib/evil_events/core/events/manager_factory.rb +1 -1
- data/lib/evil_events/core/events/manager_registry.rb +39 -2
- data/lib/evil_events/core/events/serializers.rb +2 -1
- data/lib/evil_events/core/events/subscriber/mixin.rb +20 -11
- data/lib/evil_events/core/system.rb +16 -0
- data/lib/evil_events/core/system/event_manager.rb +33 -3
- data/lib/evil_events/core/system/mock.rb +20 -0
- data/lib/evil_events/core/system/type_manager.rb +35 -0
- data/lib/evil_events/plugins.rb +33 -0
- data/lib/evil_events/plugins/elastic_search.rb +6 -0
- data/lib/evil_events/plugins/rails.rb +6 -0
- data/lib/evil_events/shared.rb +4 -0
- data/lib/evil_events/shared/crypto.rb +1 -1
- data/lib/evil_events/shared/type_converter.rb +43 -0
- data/lib/evil_events/shared/type_converter/converter.rb +45 -0
- data/lib/evil_events/shared/type_converter/converter_registry.rb +51 -0
- data/lib/evil_events/shared/type_converter/type_builder.rb +51 -0
- data/lib/evil_events/version.rb +2 -2
- metadata +73 -59
@@ -23,6 +23,14 @@ class EvilEvents::Core::System
|
|
23
23
|
# @since 0.1.0
|
24
24
|
def raw_observe(event_type, raw_subscriber, delegator); end
|
25
25
|
|
26
|
+
# @see EvilEvents::Core::System
|
27
|
+
# @since 0.2.0
|
28
|
+
def observe_list(event_pattern, raw_subscriber, delegator); end
|
29
|
+
|
30
|
+
# @see EvilEvents::Core::System
|
31
|
+
# @since 0.2.0
|
32
|
+
def conditional_observe(event_condition, raw_subscriber, delegator); end
|
33
|
+
|
26
34
|
# @see EvilEvents::Core::System
|
27
35
|
# @since 0.1.0
|
28
36
|
def observers(event_class); end
|
@@ -86,5 +94,17 @@ class EvilEvents::Core::System
|
|
86
94
|
# @see EvilEvents::Core::System
|
87
95
|
# @since 0.1.0
|
88
96
|
def managed_event?(event_class); end
|
97
|
+
|
98
|
+
# @see EvilEvents::Core::System
|
99
|
+
# @since 0.2.0
|
100
|
+
def register_converter(type, coercer); end
|
101
|
+
|
102
|
+
# @see EvilEvents::Core::System
|
103
|
+
# @since 0.2.0
|
104
|
+
def resolve_type(type, **options); end
|
105
|
+
|
106
|
+
# @see EvilEvents::Core::System
|
107
|
+
# @since 0.2.0
|
108
|
+
def registered_events; end
|
89
109
|
end
|
90
110
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class EvilEvents::Core::System
|
4
|
+
# @api private
|
5
|
+
# @since 0.2.0
|
6
|
+
class TypeManager
|
7
|
+
# @return [EvilEvents::Shared::TypeConverter]
|
8
|
+
#
|
9
|
+
# @since 0.2.0
|
10
|
+
attr_reader :converter
|
11
|
+
|
12
|
+
# @since 0.2.0
|
13
|
+
def initialize
|
14
|
+
@converter = EvilEvents::Shared::TypeConverter.new
|
15
|
+
end
|
16
|
+
|
17
|
+
# @param type [Symbol]
|
18
|
+
# @param coercer [Proc]
|
19
|
+
# @return [EvilEvents::Shared::TypeConverter::Converter]
|
20
|
+
#
|
21
|
+
# @since 0.2.0
|
22
|
+
def register_converter(type, coercer)
|
23
|
+
converter.register(type, coercer)
|
24
|
+
end
|
25
|
+
|
26
|
+
# @param type [Symbol]
|
27
|
+
# @param options [Hash]
|
28
|
+
# @return [EvilEvents::Shared::Types::Any]
|
29
|
+
#
|
30
|
+
# @since 0.2.0
|
31
|
+
def resolve_type(type, **options)
|
32
|
+
converter.resolve_type(type, **options)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EvilEvents
|
4
|
+
# @api public
|
5
|
+
# @since 0.2.0
|
6
|
+
class Plugins
|
7
|
+
# @since 0.2.0
|
8
|
+
extend Shared::DependencyContainer::Mixin
|
9
|
+
|
10
|
+
# @since 0.2.0
|
11
|
+
register(:rails, 'plugins/rails')
|
12
|
+
# @since 0.2.0
|
13
|
+
register(:elastic_search, 'plugins/elastic_search')
|
14
|
+
|
15
|
+
class << self
|
16
|
+
# @return [Array<String>]
|
17
|
+
#
|
18
|
+
# @since 0.2.0
|
19
|
+
def names
|
20
|
+
keys
|
21
|
+
end
|
22
|
+
|
23
|
+
# @param *plugins [String,Symbol]
|
24
|
+
# @return void
|
25
|
+
#
|
26
|
+
# @api public
|
27
|
+
# @since 0.2.0
|
28
|
+
def load!(*plugins)
|
29
|
+
(plugins.empty? ? names : plugins).each { |plugin| require_relative resolve(plugin) }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/evil_events/shared.rb
CHANGED
@@ -14,5 +14,9 @@ module EvilEvents
|
|
14
14
|
require_relative 'shared/delegator_resolver'
|
15
15
|
require_relative 'shared/dependency_container'
|
16
16
|
require_relative 'shared/clonable_module_builder'
|
17
|
+
require_relative 'shared/type_converter'
|
18
|
+
require_relative 'shared/type_converter/converter'
|
19
|
+
require_relative 'shared/type_converter/type_builder'
|
20
|
+
require_relative 'shared/type_converter/converter_registry'
|
17
21
|
end
|
18
22
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EvilEvents::Shared
|
4
|
+
# @api public
|
5
|
+
# @since 0.2.0
|
6
|
+
class TypeConverter
|
7
|
+
# @return [EvilEvents::Shared::TypeConverter::ConverterRegistry]
|
8
|
+
#
|
9
|
+
# @api public
|
10
|
+
# @since 0.2.0
|
11
|
+
attr_reader :registry
|
12
|
+
|
13
|
+
# @api public
|
14
|
+
# @since 0.2.0
|
15
|
+
def initialize
|
16
|
+
@registry = ConverterRegistry.new
|
17
|
+
end
|
18
|
+
|
19
|
+
# @param type_name [Symbol]
|
20
|
+
# @param coercer [Proc]
|
21
|
+
# @return [EvilEvents::Shared::TypeConverter::Converter]
|
22
|
+
#
|
23
|
+
# @see EvilEvents::Shared::TypeConverter::ConverterRegistry
|
24
|
+
#
|
25
|
+
# @api public
|
26
|
+
# @since 0.2.0
|
27
|
+
def register(type_name, coercer)
|
28
|
+
registry.register(type_name, coercer)
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param type_name [Symbol]
|
32
|
+
# @param options [Hash]
|
33
|
+
# @return [EvilEvents::Shared::Types::Any]
|
34
|
+
#
|
35
|
+
# @see EvilEvents::Shared::TypeConverter::ConverterRegistry
|
36
|
+
#
|
37
|
+
# @api public
|
38
|
+
# @since 0.2.0
|
39
|
+
def resolve_type(type_name, **options)
|
40
|
+
registry.resolve(type_name).transform_to_type(**options)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class EvilEvents::Shared::TypeConverter
|
4
|
+
# @api public
|
5
|
+
# @since 0.2.0
|
6
|
+
class Converter
|
7
|
+
# @return [Proc]
|
8
|
+
#
|
9
|
+
# @api public
|
10
|
+
# @since 0.2.0
|
11
|
+
attr_reader :coercer
|
12
|
+
|
13
|
+
# @param coercer [Proc]
|
14
|
+
#
|
15
|
+
# @api public
|
16
|
+
# @since 0.2.0
|
17
|
+
def initialize(coercer)
|
18
|
+
raise ArgumentError unless coercer.is_a?(Proc)
|
19
|
+
|
20
|
+
@coercer = coercer
|
21
|
+
end
|
22
|
+
|
23
|
+
# @param value [Mixed]
|
24
|
+
# @return [Mixed]
|
25
|
+
#
|
26
|
+
# @api public
|
27
|
+
# @since 0.2.0
|
28
|
+
def convert(value)
|
29
|
+
coercer.call(value)
|
30
|
+
end
|
31
|
+
|
32
|
+
# @option :default [Mixed]
|
33
|
+
# @return [EvilEvents::Shared::Types::Any]
|
34
|
+
#
|
35
|
+
# @see EvilEvents::Shared::TypeConverter::TypeBuilder
|
36
|
+
#
|
37
|
+
# @since 0.2.0
|
38
|
+
def transform_to_type(**options)
|
39
|
+
TypeBuilder.new.tap do |builder|
|
40
|
+
builder.append(:constructor, coercer)
|
41
|
+
builder.append(:default, options[:default]) if options.key?(:default)
|
42
|
+
end.result
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class EvilEvents::Shared::TypeConverter
|
4
|
+
# @api public
|
5
|
+
# @since 0.2.0
|
6
|
+
class ConverterRegistry
|
7
|
+
# @since 0.2.0
|
8
|
+
ConverterRegistryError = Class.new(StandardError)
|
9
|
+
# @since 0.2.0
|
10
|
+
ConverterNotRegisteredError = Class.new(ConverterRegistryError)
|
11
|
+
|
12
|
+
# @return [Coucnrrent::Map]
|
13
|
+
#
|
14
|
+
# @api public
|
15
|
+
# @since 0.2.0
|
16
|
+
attr_reader :converters
|
17
|
+
|
18
|
+
# @api public
|
19
|
+
# @since 0.2.0
|
20
|
+
def initialize
|
21
|
+
@converters = EvilEvents::Shared::DependencyContainer.new
|
22
|
+
end
|
23
|
+
|
24
|
+
# @param type_name [Symbol]
|
25
|
+
# @param coercer [Proc]
|
26
|
+
# @raise ArgumentError
|
27
|
+
# @return [Converter]
|
28
|
+
#
|
29
|
+
# @api public
|
30
|
+
# @since 0.2.0
|
31
|
+
def register(type_name, coercer)
|
32
|
+
raise ArgumentError unless type_name.is_a?(Symbol)
|
33
|
+
raise ArgumentError unless coercer.is_a?(Proc)
|
34
|
+
|
35
|
+
Converter.new(coercer).tap do |converter|
|
36
|
+
converters.register(type_name, converter)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# @param type [Mixed]
|
41
|
+
# @raise ConverterNotRegisteredError
|
42
|
+
# @return [Mixed]
|
43
|
+
#
|
44
|
+
# @api public
|
45
|
+
# @since 0.2.0
|
46
|
+
def resolve(type)
|
47
|
+
converters[type]
|
48
|
+
end
|
49
|
+
alias_method :[], :resolve
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class EvilEvents::Shared::TypeConverter
|
4
|
+
# @api public
|
5
|
+
# @since 0.2.0
|
6
|
+
class TypeBuilder
|
7
|
+
# @api public
|
8
|
+
# @since 0.2.0
|
9
|
+
def initialize
|
10
|
+
@type_atom = Concurrent::Atom.new(EvilEvents::Shared::Types::Any)
|
11
|
+
end
|
12
|
+
|
13
|
+
# @param option [Symbol]
|
14
|
+
# @param value [Mixed]
|
15
|
+
# @return self
|
16
|
+
#
|
17
|
+
# @api public
|
18
|
+
# @since 0.2.0
|
19
|
+
def append(option, value)
|
20
|
+
type_atom.swap do |type|
|
21
|
+
case option
|
22
|
+
when :default
|
23
|
+
# NOTE: Dry::Types callable wrapper (see Dry::Types::Default::Callable#evaulate)
|
24
|
+
default_value = value.is_a?(Proc) ? (->(_type) { value.call }) : (proc { value })
|
25
|
+
type.default(default_value)
|
26
|
+
when :constructor
|
27
|
+
type.constructor(value)
|
28
|
+
else
|
29
|
+
type
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
self
|
34
|
+
end
|
35
|
+
|
36
|
+
# @return [EvilEvents::Shared::Types::Any]
|
37
|
+
#
|
38
|
+
# @api public
|
39
|
+
# @since 0.2.0
|
40
|
+
def result
|
41
|
+
type_atom.value
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
# @return [Concurrent::Atom<EvilEvents::Shared::Types::Any>]
|
47
|
+
#
|
48
|
+
# @since 0.2.0
|
49
|
+
attr_reader :type_atom
|
50
|
+
end
|
51
|
+
end
|
data/lib/evil_events/version.rb
CHANGED
metadata
CHANGED
@@ -1,225 +1,225 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evil_events
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rustam Ibragimov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-monads
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.4.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dry-types
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 0.12.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.12.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: dry-struct
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.3.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.3.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: dry-configurable
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.7.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.7.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dry-container
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.6.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.6.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: concurrent-ruby
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 1.0.5
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.0.5
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: coveralls
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 0.8.21
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.8.21
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.11.2
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.11.2
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: simplecov
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
|
-
- -
|
115
|
+
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
117
|
version: 0.14.1
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
|
-
- -
|
122
|
+
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
124
|
version: 0.14.1
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: simplecov-json
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
|
-
- -
|
129
|
+
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
131
|
version: '0.2'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- -
|
136
|
+
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0.2'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: rubocop
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
|
-
- -
|
143
|
+
- - "~>"
|
158
144
|
- !ruby/object:Gem::Version
|
159
145
|
version: 0.51.0
|
160
146
|
type: :development
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
|
-
- -
|
150
|
+
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
152
|
version: 0.51.0
|
167
153
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
154
|
+
name: rspec
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
170
156
|
requirements:
|
171
|
-
- -
|
157
|
+
- - "~>"
|
172
158
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
159
|
+
version: 3.7.0
|
174
160
|
type: :development
|
175
161
|
prerelease: false
|
176
162
|
version_requirements: !ruby/object:Gem::Requirement
|
177
163
|
requirements:
|
178
|
-
- -
|
164
|
+
- - "~>"
|
179
165
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
166
|
+
version: 3.7.0
|
181
167
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
168
|
+
name: rubocop-rspec
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
184
170
|
requirements:
|
185
|
-
- -
|
171
|
+
- - "~>"
|
186
172
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
173
|
+
version: 1.20.1
|
188
174
|
type: :development
|
189
175
|
prerelease: false
|
190
176
|
version_requirements: !ruby/object:Gem::Requirement
|
191
177
|
requirements:
|
192
|
-
- -
|
178
|
+
- - "~>"
|
193
179
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
180
|
+
version: 1.20.1
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
182
|
+
name: pry
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
198
184
|
requirements:
|
199
|
-
- -
|
185
|
+
- - ">="
|
200
186
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
187
|
+
version: '0'
|
202
188
|
type: :development
|
203
189
|
prerelease: false
|
204
190
|
version_requirements: !ruby/object:Gem::Requirement
|
205
191
|
requirements:
|
206
|
-
- -
|
192
|
+
- - ">="
|
207
193
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
194
|
+
version: '0'
|
209
195
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
196
|
+
name: rake
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: bundler
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
|
-
- -
|
213
|
+
- - ">="
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
215
|
+
version: '0'
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
|
-
- -
|
220
|
+
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
222
|
+
version: '0'
|
223
223
|
description: Ultra simple, but very flexible and fully customizable event subsystem
|
224
224
|
for ruby applications with a wide set of customization interfaces and smart event
|
225
225
|
definition DSL.
|
@@ -243,8 +243,10 @@ files:
|
|
243
243
|
- bin/setup
|
244
244
|
- evil_events.gemspec
|
245
245
|
- lib/evil_events.rb
|
246
|
-
- lib/evil_events/
|
246
|
+
- lib/evil_events/application.rb
|
247
247
|
- lib/evil_events/config.rb
|
248
|
+
- lib/evil_events/config/adapters.rb
|
249
|
+
- lib/evil_events/config/types.rb
|
248
250
|
- lib/evil_events/core.rb
|
249
251
|
- lib/evil_events/core/activity_logger.rb
|
250
252
|
- lib/evil_events/core/bootstrap.rb
|
@@ -256,9 +258,13 @@ files:
|
|
256
258
|
- lib/evil_events/core/broadcasting/dispatcher/mixin.rb
|
257
259
|
- lib/evil_events/core/broadcasting/emitter.rb
|
258
260
|
- lib/evil_events/core/config.rb
|
261
|
+
- lib/evil_events/core/error.rb
|
259
262
|
- lib/evil_events/core/events.rb
|
260
263
|
- lib/evil_events/core/events/abstract_event.rb
|
261
264
|
- lib/evil_events/core/events/event_extensions/adapter_customizable.rb
|
265
|
+
- lib/evil_events/core/events/event_extensions/class_signature.rb
|
266
|
+
- lib/evil_events/core/events/event_extensions/class_signature/equalizer.rb
|
267
|
+
- lib/evil_events/core/events/event_extensions/class_signature/signature.rb
|
262
268
|
- lib/evil_events/core/events/event_extensions/emittable.rb
|
263
269
|
- lib/evil_events/core/events/event_extensions/manageable.rb
|
264
270
|
- lib/evil_events/core/events/event_extensions/metadata_extendable.rb
|
@@ -286,9 +292,13 @@ files:
|
|
286
292
|
- lib/evil_events/core/system/event_manager.rb
|
287
293
|
- lib/evil_events/core/system/mock.rb
|
288
294
|
- lib/evil_events/core/system/mocking.rb
|
295
|
+
- lib/evil_events/core/system/type_manager.rb
|
289
296
|
- lib/evil_events/dispatcher_mixin.rb
|
290
297
|
- lib/evil_events/emitter.rb
|
291
298
|
- lib/evil_events/event.rb
|
299
|
+
- lib/evil_events/plugins.rb
|
300
|
+
- lib/evil_events/plugins/elastic_search.rb
|
301
|
+
- lib/evil_events/plugins/rails.rb
|
292
302
|
- lib/evil_events/serializer.rb
|
293
303
|
- lib/evil_events/shared.rb
|
294
304
|
- lib/evil_events/shared/clonable_module_builder.rb
|
@@ -300,6 +310,10 @@ files:
|
|
300
310
|
- lib/evil_events/shared/dependency_container.rb
|
301
311
|
- lib/evil_events/shared/logger.rb
|
302
312
|
- lib/evil_events/shared/structure.rb
|
313
|
+
- lib/evil_events/shared/type_converter.rb
|
314
|
+
- lib/evil_events/shared/type_converter/converter.rb
|
315
|
+
- lib/evil_events/shared/type_converter/converter_registry.rb
|
316
|
+
- lib/evil_events/shared/type_converter/type_builder.rb
|
303
317
|
- lib/evil_events/shared/types.rb
|
304
318
|
- lib/evil_events/subscriber_mixin.rb
|
305
319
|
- lib/evil_events/types.rb
|