nexus_cqrs 0.0.7 → 0.0.8
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/Gemfile +1 -1
- data/Gemfile.lock +77 -1
- data/README.md +8 -0
- data/lib/generators/nexus_cqrs/command_generator.rb +8 -7
- data/lib/generators/nexus_cqrs/query_generator.rb +20 -2
- data/lib/nexus_cqrs/command_executor.rb +1 -1
- data/lib/nexus_cqrs/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 964f3e200ed51f402f7c00973065c34a05122b2f20837476b3f5a55a7e4fc46e
|
|
4
|
+
data.tar.gz: 9c4102fef193eda90fa60178ec05c1bafe49f89dff2157eb8e2a850ce773e18b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 70862cb50dc57a43161aee2f346dc6d6e60061f620a6b194423bfdf4c8d75f766ca3b03d27ba036a213f2247a6d618ac55f13ea35bab1fad2c49a0fe0308835d
|
|
7
|
+
data.tar.gz: 5684b39d573edb2d81a1c3dc890ed2bb1de7d9d5d9b9f2e4f3054b34bb215bfc3dbfdf3b89d4a8434cfb48b2647350f1687259cd47a3b392e8b61df03ce756f8
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
1
|
source 'https://rubygems.org'
|
|
3
2
|
|
|
4
3
|
# Specify your gem's dependencies in cqrs-core.gemspec
|
|
@@ -8,4 +7,5 @@ gem 'rubocop'
|
|
|
8
7
|
gem 'rubocop-shopify', "~> 1.0.4", require: false
|
|
9
8
|
|
|
10
9
|
gem 'rspec'
|
|
10
|
+
gem "generator_spec"
|
|
11
11
|
gem 'thread_safe'
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,73 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nexus_cqrs (0.0.
|
|
4
|
+
nexus_cqrs (0.0.8)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
+
actionpack (6.0.3.2)
|
|
10
|
+
actionview (= 6.0.3.2)
|
|
11
|
+
activesupport (= 6.0.3.2)
|
|
12
|
+
rack (~> 2.0, >= 2.0.8)
|
|
13
|
+
rack-test (>= 0.6.3)
|
|
14
|
+
rails-dom-testing (~> 2.0)
|
|
15
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
16
|
+
actionview (6.0.3.2)
|
|
17
|
+
activesupport (= 6.0.3.2)
|
|
18
|
+
builder (~> 3.1)
|
|
19
|
+
erubi (~> 1.4)
|
|
20
|
+
rails-dom-testing (~> 2.0)
|
|
21
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
22
|
+
activesupport (6.0.3.2)
|
|
23
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
24
|
+
i18n (>= 0.7, < 2)
|
|
25
|
+
minitest (~> 5.1)
|
|
26
|
+
tzinfo (~> 1.1)
|
|
27
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
|
9
28
|
ast (2.4.1)
|
|
29
|
+
builder (3.2.4)
|
|
30
|
+
concurrent-ruby (1.1.7)
|
|
31
|
+
crass (1.0.6)
|
|
10
32
|
diff-lcs (1.4.4)
|
|
33
|
+
erubi (1.9.0)
|
|
34
|
+
generator_spec (0.9.4)
|
|
35
|
+
activesupport (>= 3.0.0)
|
|
36
|
+
railties (>= 3.0.0)
|
|
37
|
+
i18n (1.8.5)
|
|
38
|
+
concurrent-ruby (~> 1.0)
|
|
39
|
+
loofah (2.6.0)
|
|
40
|
+
crass (~> 1.0.2)
|
|
41
|
+
nokogiri (>= 1.5.9)
|
|
42
|
+
method_source (1.0.0)
|
|
43
|
+
mini_portile2 (2.4.0)
|
|
44
|
+
minitest (5.14.1)
|
|
45
|
+
multi_json (1.15.0)
|
|
46
|
+
net-scp (3.0.0)
|
|
47
|
+
net-ssh (>= 2.6.5, < 7.0.0)
|
|
48
|
+
net-ssh (6.1.0)
|
|
49
|
+
net-telnet (0.1.1)
|
|
50
|
+
nokogiri (1.10.10)
|
|
51
|
+
mini_portile2 (~> 2.4.0)
|
|
11
52
|
parallel (1.19.2)
|
|
12
53
|
parser (2.7.1.4)
|
|
13
54
|
ast (~> 2.4.1)
|
|
55
|
+
rack (2.2.3)
|
|
56
|
+
rack-test (1.1.0)
|
|
57
|
+
rack (>= 1.0, < 3)
|
|
58
|
+
rails-dom-testing (2.0.3)
|
|
59
|
+
activesupport (>= 4.2.0)
|
|
60
|
+
nokogiri (>= 1.6)
|
|
61
|
+
rails-html-sanitizer (1.3.0)
|
|
62
|
+
loofah (~> 2.3)
|
|
63
|
+
railties (6.0.3.2)
|
|
64
|
+
actionpack (= 6.0.3.2)
|
|
65
|
+
activesupport (= 6.0.3.2)
|
|
66
|
+
method_source
|
|
67
|
+
rake (>= 0.8.7)
|
|
68
|
+
thor (>= 0.20.3, < 2.0)
|
|
14
69
|
rainbow (3.0.0)
|
|
70
|
+
rake (13.0.1)
|
|
15
71
|
regexp_parser (1.7.1)
|
|
16
72
|
rexml (3.2.4)
|
|
17
73
|
rspec (3.9.0)
|
|
@@ -23,6 +79,9 @@ GEM
|
|
|
23
79
|
rspec-expectations (3.9.2)
|
|
24
80
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
25
81
|
rspec-support (~> 3.9.0)
|
|
82
|
+
rspec-its (1.3.0)
|
|
83
|
+
rspec-core (>= 3.0.0)
|
|
84
|
+
rspec-expectations (>= 3.0.0)
|
|
26
85
|
rspec-mocks (3.9.1)
|
|
27
86
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
28
87
|
rspec-support (~> 3.9.0)
|
|
@@ -41,17 +100,34 @@ GEM
|
|
|
41
100
|
rubocop-shopify (1.0.4)
|
|
42
101
|
rubocop (>= 0.85, < 0.87)
|
|
43
102
|
ruby-progressbar (1.10.1)
|
|
103
|
+
serverspec (2.41.5)
|
|
104
|
+
multi_json
|
|
105
|
+
rspec (~> 3.0)
|
|
106
|
+
rspec-its
|
|
107
|
+
specinfra (~> 2.72)
|
|
108
|
+
sfl (2.3)
|
|
109
|
+
specinfra (2.82.19)
|
|
110
|
+
net-scp
|
|
111
|
+
net-ssh (>= 2.7)
|
|
112
|
+
net-telnet (= 0.1.1)
|
|
113
|
+
sfl
|
|
114
|
+
thor (1.0.1)
|
|
44
115
|
thread_safe (0.3.6)
|
|
116
|
+
tzinfo (1.2.7)
|
|
117
|
+
thread_safe (~> 0.1)
|
|
45
118
|
unicode-display_width (1.7.0)
|
|
119
|
+
zeitwerk (2.4.0)
|
|
46
120
|
|
|
47
121
|
PLATFORMS
|
|
48
122
|
ruby
|
|
49
123
|
|
|
50
124
|
DEPENDENCIES
|
|
125
|
+
generator_spec
|
|
51
126
|
nexus_cqrs!
|
|
52
127
|
rspec
|
|
53
128
|
rubocop
|
|
54
129
|
rubocop-shopify (~> 1.0.4)
|
|
130
|
+
serverspec
|
|
55
131
|
thread_safe
|
|
56
132
|
|
|
57
133
|
BUNDLED WITH
|
data/README.md
CHANGED
|
@@ -29,3 +29,11 @@ Generators can be used to aide in the creation of Commands and Queries:
|
|
|
29
29
|
|
|
30
30
|
Once installed, a CommandBus is required to control the flow of Commands and/or Queries:
|
|
31
31
|
|
|
32
|
+
## Development
|
|
33
|
+
|
|
34
|
+
To contribute to this gem, simple pull the repository, run `bundle install` and run tests:
|
|
35
|
+
|
|
36
|
+
```shell script
|
|
37
|
+
bundle exec rspec
|
|
38
|
+
bundle exec rubocop
|
|
39
|
+
```
|
|
@@ -5,15 +5,16 @@ module NexusCqrs
|
|
|
5
5
|
source_root File.expand_path('templates', __dir__)
|
|
6
6
|
|
|
7
7
|
def copy_command_file
|
|
8
|
-
|
|
9
|
-
full_name = file_name
|
|
8
|
+
file_path = class_name.underscore
|
|
10
9
|
|
|
11
|
-
template('command.rb', "app/domain/commands/#{
|
|
12
|
-
template('command_handler.rb', "app/domain/commands/#{
|
|
10
|
+
template('command.rb', "app/domain/commands/#{file_path}.rb")
|
|
11
|
+
template('command_handler.rb', "app/domain/commands/#{file_path}_handler.rb")
|
|
13
12
|
|
|
14
|
-
register_command(
|
|
13
|
+
register_command(class_name)
|
|
15
14
|
end
|
|
16
15
|
|
|
16
|
+
private
|
|
17
|
+
|
|
17
18
|
def register_command(full_name)
|
|
18
19
|
handler_config = 'config/initializers/register_cqrs_handlers.rb'
|
|
19
20
|
|
|
@@ -21,9 +22,9 @@ module NexusCqrs
|
|
|
21
22
|
template('register_cqrs_handlers.rb', handler_config)
|
|
22
23
|
end
|
|
23
24
|
|
|
24
|
-
code_to_inject = "$
|
|
25
|
+
code_to_inject = "$COMMAND_EXECUTOR.register_command(#{full_name}, #{full_name}Handler)"
|
|
25
26
|
|
|
26
|
-
inject_into_file(handler_config, code_to_inject, after:
|
|
27
|
+
inject_into_file(handler_config, code_to_inject, after: "# Register Commands\n")
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
end
|
|
@@ -5,8 +5,26 @@ module NexusCqrs
|
|
|
5
5
|
source_root File.expand_path('templates', __dir__)
|
|
6
6
|
|
|
7
7
|
def copy_query_file
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
file_path = class_name.underscore
|
|
9
|
+
|
|
10
|
+
template('query.rb', "app/domain/queries/#{file_path}.rb")
|
|
11
|
+
template('query_handler.rb', "app/domain/queries/#{file_path}_handler.rb")
|
|
12
|
+
|
|
13
|
+
register_query(class_name)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def register_query(full_name)
|
|
19
|
+
handler_config = 'config/initializers/register_cqrs_handlers.rb'
|
|
20
|
+
|
|
21
|
+
unless File.exist?('config/initializers/register_cqrs_handlers.rb')
|
|
22
|
+
template('register_cqrs_handlers.rb', handler_config)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
code_to_inject = "$QUERY_EXECUTOR.register_command(#{full_name}, #{full_name}Handler)"
|
|
26
|
+
|
|
27
|
+
inject_into_file(handler_config, code_to_inject, after: "# Register Queries\n")
|
|
10
28
|
end
|
|
11
29
|
end
|
|
12
30
|
end
|
data/lib/nexus_cqrs/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nexus_cqrs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dean Lovett
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-08-
|
|
11
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description:
|
|
14
14
|
email:
|