eventsimple 1.0.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 +7 -0
- data/.DS_Store +0 -0
- data/.rspec +3 -0
- data/.rubocop.yml +18 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +164 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +320 -0
- data/Guardfile +35 -0
- data/LICENSE +22 -0
- data/README.md +510 -0
- data/Rakefile +17 -0
- data/app/controllers/eventsimple/application_controller.rb +15 -0
- data/app/controllers/eventsimple/entities_controller.rb +59 -0
- data/app/controllers/eventsimple/home_controller.rb +5 -0
- data/app/controllers/eventsimple/models_controller.rb +10 -0
- data/app/views/eventsimple/entities/show.html.erb +109 -0
- data/app/views/eventsimple/home/index.html.erb +0 -0
- data/app/views/eventsimple/models/show.html.erb +19 -0
- data/app/views/eventsimple/shared/_header.html.erb +26 -0
- data/app/views/eventsimple/shared/_sidebar.html.erb +19 -0
- data/app/views/eventsimple/shared/_style.html.erb +105 -0
- data/app/views/layouts/eventsimple/application.html.erb +76 -0
- data/catalog-info.yaml +11 -0
- data/config/routes.rb +11 -0
- data/eventsimple.gemspec +42 -0
- data/lib/dry_types.rb +5 -0
- data/lib/eventsimple/configuration.rb +36 -0
- data/lib/eventsimple/data_type.rb +48 -0
- data/lib/eventsimple/dispatcher.rb +17 -0
- data/lib/eventsimple/engine.rb +37 -0
- data/lib/eventsimple/entity.rb +54 -0
- data/lib/eventsimple/event.rb +189 -0
- data/lib/eventsimple/event_dispatcher.rb +93 -0
- data/lib/eventsimple/generators/install_generator.rb +42 -0
- data/lib/eventsimple/generators/outbox/install_generator.rb +31 -0
- data/lib/eventsimple/generators/outbox/templates/create_outbox_cursor.erb +13 -0
- data/lib/eventsimple/generators/templates/create_events.erb +21 -0
- data/lib/eventsimple/generators/templates/event.erb +8 -0
- data/lib/eventsimple/invalid_transition.rb +14 -0
- data/lib/eventsimple/message.rb +23 -0
- data/lib/eventsimple/metadata.rb +11 -0
- data/lib/eventsimple/metadata_type.rb +38 -0
- data/lib/eventsimple/outbox/consumer.rb +52 -0
- data/lib/eventsimple/outbox/models/cursor.rb +25 -0
- data/lib/eventsimple/reactor_worker.rb +18 -0
- data/lib/eventsimple/support/spec_helpers.rb +47 -0
- data/lib/eventsimple/version.rb +5 -0
- data/lib/eventsimple.rb +41 -0
- data/log/development.log +0 -0
- data/sonar-project.properties +4 -0
- metadata +304 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8b1d2a6b5eb979f7ba40f0bd7500b001b43497259e56432cb0f6c4d3bf9d2816
|
4
|
+
data.tar.gz: e0d2cc3ca58637a1d0267f634b03575f03db026bcba7f62d25d6b82b7228c610
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 76d5867b765ae7cb39a87ee8f094a70f2fdd5d9cb81f69e198cf26e4dffa01ae15fccc40afce852922f8f1fc408c01c59d13aa87e6d59f81b52d0f1ad446cd6a
|
7
|
+
data.tar.gz: 2713b5f26dbd5ada7db2135e2cd7453a1dea13e853f8046b57d989553bbe4ae08052dc1aa1b59b87bfdc3e5eb782cbf8ae90fc7e47f116641444efcd57a06e2f
|
data/.DS_Store
ADDED
Binary file
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
inherit_gem:
|
2
|
+
ws-style:
|
3
|
+
- default.yml
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
Exclude:
|
7
|
+
- "spec/dummy/bin/**/*"
|
8
|
+
- "spec/dummy/db/migrate/**/*"
|
9
|
+
- "spec/dummy/db/schema.rb"
|
10
|
+
- "spec/dummy/log/**/*"
|
11
|
+
- "spec/dummy/tmp/**/*"
|
12
|
+
TargetRubyVersion: 3.2
|
13
|
+
|
14
|
+
Rails/SkipsModelValidations:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
Vendor/StrictDryStruct:
|
18
|
+
Enabled: false
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.2.2
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
|
+
|
7
|
+
## Unreleased
|
8
|
+
|
9
|
+
## 1.0.0 - 2023-05-03
|
10
|
+
### Changed
|
11
|
+
- Release under MIT license
|
12
|
+
|
13
|
+
## 0.9.1 - 2023-04-29
|
14
|
+
### Changed
|
15
|
+
- add `metadata_klass` configuration so it can be easily overwritten
|
16
|
+
|
17
|
+
## 0.9.0 - 2023-04-25
|
18
|
+
### Changed
|
19
|
+
- update timestamp of projection on deleted events. We originally had deleted
|
20
|
+
events act as a `noop` but when checking `model.project_matches_events?` it would fail
|
21
|
+
since the original projection would have included the timestamp update.
|
22
|
+
We don't want to require a projection of every instance of a model when deleting an event so
|
23
|
+
we now update the timestamps on deleted event projections.
|
24
|
+
|
25
|
+
## 0.8.0 - 2023-04-18
|
26
|
+
### Changed
|
27
|
+
- Rename gem to Eventsimple
|
28
|
+
|
29
|
+
## 0.7.3 - 2023-04-14
|
30
|
+
### Changed
|
31
|
+
- Adding some missing tests
|
32
|
+
|
33
|
+
## 0.7.2 - 2023-04-06
|
34
|
+
### Changed
|
35
|
+
- Remove use of ApplicationRecord.descendants to determine the list of models
|
36
|
+
to display in the UI. This conflicts with components using packwerk.
|
37
|
+
A side effect of this change is that the UI will no longer display STI models.
|
38
|
+
STI models did not work properly in the UI anyway, so this is ok.
|
39
|
+
|
40
|
+
## 0.7.1 - 2023-04-11
|
41
|
+
### Changed
|
42
|
+
- Eventsimple no longer requires a Dispatcher class to be defined.
|
43
|
+
Instead, dispatchers must now be registered in the event configuration.
|
44
|
+
Each dispatcher must inherit from Eventsimple::Dispatcher
|
45
|
+
|
46
|
+
## 0.7.0 - 2023-03-29
|
47
|
+
### Changed
|
48
|
+
- Remove custom database role configuration as it is not needed
|
49
|
+
- Allow concurrency retry count to be configurable
|
50
|
+
- Require Rails >= 7.0.0. Eventsimple is not compatible with older versions.
|
51
|
+
- aggregate_id is now a required property on event configuration
|
52
|
+
|
53
|
+
## 0.6.5 - 2023-02-02
|
54
|
+
### Changed
|
55
|
+
- Fix various UI styling and overflow bugs
|
56
|
+
|
57
|
+
## 0.6.4 - 2023-01-20
|
58
|
+
### Changed
|
59
|
+
Avoid using redirect to prevent issues with internal proxies
|
60
|
+
|
61
|
+
## 0.6.3 - 2023-01-20
|
62
|
+
### Changed
|
63
|
+
- Remove turbo use, as it is not essential
|
64
|
+
|
65
|
+
## 0.6.2 - 2023-01-20
|
66
|
+
### Changed
|
67
|
+
- Add placeholder class for events deleted in code
|
68
|
+
|
69
|
+
## 0.6.1 - 2023-01-20
|
70
|
+
### Changed
|
71
|
+
- Fix bug where eventsimple UI would not be able to find the correct entity
|
72
|
+
|
73
|
+
## 0.6.0 - 2023-01-16
|
74
|
+
### Changed
|
75
|
+
- Add "Eventsimple: The UI"
|
76
|
+
|
77
|
+
## 0.5.8 - 2023-01-05
|
78
|
+
### Changed
|
79
|
+
- Setup eventsimple web view
|
80
|
+
|
81
|
+
## 0.5.7 - 2023-01-03
|
82
|
+
### Changed
|
83
|
+
- Fixed local development setup script
|
84
|
+
- Fixed bug where timestamps may not be updated on reprojection
|
85
|
+
|
86
|
+
## 0.5.6 - 2022-11-28
|
87
|
+
### Changed
|
88
|
+
- Only implement retry logic for new records
|
89
|
+
|
90
|
+
## 0.5.5 - 2022-11-28
|
91
|
+
### Changed
|
92
|
+
- Fixes to consumer migration template
|
93
|
+
- End consumer correctly on SIGTERM
|
94
|
+
|
95
|
+
## 0.5.4 - 2022-11-28
|
96
|
+
### Changed
|
97
|
+
- Updated install_generator.rb and templates/create_events.erb to use underscore, instead of downcase.
|
98
|
+
- Updated isntall_generator/template/event.erb to extend Eventsimple::Event
|
99
|
+
|
100
|
+
## 0.5.3 - 2022-11-18
|
101
|
+
### Changed
|
102
|
+
- Add rescue_invalid_transition as optional method to call on an event to customize action taken when can_apply? method returns false
|
103
|
+
|
104
|
+
## 0.4.3 - 2022-10-27
|
105
|
+
### Changed
|
106
|
+
- Improved error message on event write failures
|
107
|
+
|
108
|
+
## 0.4.2 - 2022-10-13
|
109
|
+
### Changed
|
110
|
+
- #reproject projects correct entity timestamp values
|
111
|
+
|
112
|
+
## 0.4.1 - 2022-10-13
|
113
|
+
### Changed
|
114
|
+
- Add auto-applying timestamps to entities
|
115
|
+
- Disable rails auto updating of created_at and updated_at columns
|
116
|
+
- apply functions no longer require the entity to be returned
|
117
|
+
|
118
|
+
## 0.3.0 - 2022-09-26
|
119
|
+
### Changed
|
120
|
+
- Add Rails generators to simplify setup
|
121
|
+
|
122
|
+
## 0.2.0 - 2022-09-21
|
123
|
+
### Changed
|
124
|
+
- Add Eventsimple::Outbox::Consumer to implement an outbox
|
125
|
+
|
126
|
+
## 0.1.2 - 2022-09-25
|
127
|
+
### Changed
|
128
|
+
- Set up working test suite
|
129
|
+
|
130
|
+
## 0.1.1 - 2022-09-21
|
131
|
+
### Changed
|
132
|
+
- Use `event_klass.const_defined?(:Message)`
|
133
|
+
|
134
|
+
## 0.1.0 - 2022-09-21
|
135
|
+
### Changed
|
136
|
+
- Return an instance of `event_klass::Message` from `Eventsimple::DataType#cast_value`
|
137
|
+
and `Eventsimple::DataType#deserialize` whenever the type is defined instead of checking
|
138
|
+
whether input is empty. Otherwise return the hash
|
139
|
+
|
140
|
+
## 0.0.6 - 2022-09-16
|
141
|
+
### Changed
|
142
|
+
- Separate modules for entity and event models.
|
143
|
+
- Previous usage: `include Eventsimple`
|
144
|
+
- New usage: `extend Eventsimple::Entity` or `extend Eventsimple::Event`
|
145
|
+
|
146
|
+
## 0.0.5 - 2022-09-16
|
147
|
+
### Changed
|
148
|
+
- Cleaner event output in console
|
149
|
+
|
150
|
+
## 0.0.4 - 2022-09-15
|
151
|
+
### Changed
|
152
|
+
- Raise on state machine check failure instead of setting an activemodel error
|
153
|
+
|
154
|
+
## 0.0.3 - 2022-09-15
|
155
|
+
### Changed
|
156
|
+
- Fix Cops and setup dummy app
|
157
|
+
|
158
|
+
## 0.0.2 - 2022-09-15
|
159
|
+
### Changed
|
160
|
+
- Setup eventable base classes
|
161
|
+
|
162
|
+
## 0.0.1 - 2022-09-15
|
163
|
+
### Changed
|
164
|
+
- Initial gem setup
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,320 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
eventsimple (1.0.0)
|
5
|
+
dry-struct (~> 1.6)
|
6
|
+
dry-types (~> 1.7)
|
7
|
+
pg (~> 1.4)
|
8
|
+
rails (~> 7.0)
|
9
|
+
retriable (~> 3.1)
|
10
|
+
sidekiq (~> 7.0)
|
11
|
+
|
12
|
+
GEM
|
13
|
+
remote: https://rubygems.org/
|
14
|
+
specs:
|
15
|
+
actioncable (7.0.4.3)
|
16
|
+
actionpack (= 7.0.4.3)
|
17
|
+
activesupport (= 7.0.4.3)
|
18
|
+
nio4r (~> 2.0)
|
19
|
+
websocket-driver (>= 0.6.1)
|
20
|
+
actionmailbox (7.0.4.3)
|
21
|
+
actionpack (= 7.0.4.3)
|
22
|
+
activejob (= 7.0.4.3)
|
23
|
+
activerecord (= 7.0.4.3)
|
24
|
+
activestorage (= 7.0.4.3)
|
25
|
+
activesupport (= 7.0.4.3)
|
26
|
+
mail (>= 2.7.1)
|
27
|
+
net-imap
|
28
|
+
net-pop
|
29
|
+
net-smtp
|
30
|
+
actionmailer (7.0.4.3)
|
31
|
+
actionpack (= 7.0.4.3)
|
32
|
+
actionview (= 7.0.4.3)
|
33
|
+
activejob (= 7.0.4.3)
|
34
|
+
activesupport (= 7.0.4.3)
|
35
|
+
mail (~> 2.5, >= 2.5.4)
|
36
|
+
net-imap
|
37
|
+
net-pop
|
38
|
+
net-smtp
|
39
|
+
rails-dom-testing (~> 2.0)
|
40
|
+
actionpack (7.0.4.3)
|
41
|
+
actionview (= 7.0.4.3)
|
42
|
+
activesupport (= 7.0.4.3)
|
43
|
+
rack (~> 2.0, >= 2.2.0)
|
44
|
+
rack-test (>= 0.6.3)
|
45
|
+
rails-dom-testing (~> 2.0)
|
46
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
47
|
+
actiontext (7.0.4.3)
|
48
|
+
actionpack (= 7.0.4.3)
|
49
|
+
activerecord (= 7.0.4.3)
|
50
|
+
activestorage (= 7.0.4.3)
|
51
|
+
activesupport (= 7.0.4.3)
|
52
|
+
globalid (>= 0.6.0)
|
53
|
+
nokogiri (>= 1.8.5)
|
54
|
+
actionview (7.0.4.3)
|
55
|
+
activesupport (= 7.0.4.3)
|
56
|
+
builder (~> 3.1)
|
57
|
+
erubi (~> 1.4)
|
58
|
+
rails-dom-testing (~> 2.0)
|
59
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
60
|
+
activejob (7.0.4.3)
|
61
|
+
activesupport (= 7.0.4.3)
|
62
|
+
globalid (>= 0.3.6)
|
63
|
+
activemodel (7.0.4.3)
|
64
|
+
activesupport (= 7.0.4.3)
|
65
|
+
activerecord (7.0.4.3)
|
66
|
+
activemodel (= 7.0.4.3)
|
67
|
+
activesupport (= 7.0.4.3)
|
68
|
+
activestorage (7.0.4.3)
|
69
|
+
actionpack (= 7.0.4.3)
|
70
|
+
activejob (= 7.0.4.3)
|
71
|
+
activerecord (= 7.0.4.3)
|
72
|
+
activesupport (= 7.0.4.3)
|
73
|
+
marcel (~> 1.0)
|
74
|
+
mini_mime (>= 1.1.0)
|
75
|
+
activesupport (7.0.4.3)
|
76
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
77
|
+
i18n (>= 1.6, < 2)
|
78
|
+
minitest (>= 5.1)
|
79
|
+
tzinfo (~> 2.0)
|
80
|
+
addressable (2.8.4)
|
81
|
+
public_suffix (>= 2.0.2, < 6.0)
|
82
|
+
ast (2.4.2)
|
83
|
+
builder (3.2.4)
|
84
|
+
bundle-audit (0.1.0)
|
85
|
+
bundler-audit
|
86
|
+
bundler-audit (0.9.1)
|
87
|
+
bundler (>= 1.2.0, < 3)
|
88
|
+
thor (~> 1.0)
|
89
|
+
coderay (1.1.3)
|
90
|
+
concurrent-ruby (1.2.2)
|
91
|
+
connection_pool (2.4.0)
|
92
|
+
crass (1.0.6)
|
93
|
+
date (3.3.3)
|
94
|
+
diff-lcs (1.5.0)
|
95
|
+
dry-core (1.0.0)
|
96
|
+
concurrent-ruby (~> 1.0)
|
97
|
+
zeitwerk (~> 2.6)
|
98
|
+
dry-inflector (1.0.0)
|
99
|
+
dry-logic (1.5.0)
|
100
|
+
concurrent-ruby (~> 1.0)
|
101
|
+
dry-core (~> 1.0, < 2)
|
102
|
+
zeitwerk (~> 2.6)
|
103
|
+
dry-struct (1.6.0)
|
104
|
+
dry-core (~> 1.0, < 2)
|
105
|
+
dry-types (>= 1.7, < 2)
|
106
|
+
ice_nine (~> 0.11)
|
107
|
+
zeitwerk (~> 2.6)
|
108
|
+
dry-types (1.7.1)
|
109
|
+
concurrent-ruby (~> 1.0)
|
110
|
+
dry-core (~> 1.0)
|
111
|
+
dry-inflector (~> 1.0)
|
112
|
+
dry-logic (~> 1.4)
|
113
|
+
zeitwerk (~> 2.6)
|
114
|
+
erubi (1.12.0)
|
115
|
+
ffi (1.15.5)
|
116
|
+
formatador (1.1.0)
|
117
|
+
fuubar (2.5.1)
|
118
|
+
rspec-core (~> 3.0)
|
119
|
+
ruby-progressbar (~> 1.4)
|
120
|
+
git (1.18.0)
|
121
|
+
addressable (~> 2.8)
|
122
|
+
rchardet (~> 1.8)
|
123
|
+
globalid (1.1.0)
|
124
|
+
activesupport (>= 5.0)
|
125
|
+
guard (2.18.0)
|
126
|
+
formatador (>= 0.2.4)
|
127
|
+
listen (>= 2.7, < 4.0)
|
128
|
+
lumberjack (>= 1.0.12, < 2.0)
|
129
|
+
nenv (~> 0.1)
|
130
|
+
notiffany (~> 0.0)
|
131
|
+
pry (>= 0.13.0)
|
132
|
+
shellany (~> 0.0)
|
133
|
+
thor (>= 0.18.1)
|
134
|
+
guard-compat (1.2.1)
|
135
|
+
guard-rspec (4.7.3)
|
136
|
+
guard (~> 2.1)
|
137
|
+
guard-compat (~> 1.1)
|
138
|
+
rspec (>= 2.99.0, < 4.0)
|
139
|
+
i18n (1.13.0)
|
140
|
+
concurrent-ruby (~> 1.0)
|
141
|
+
ice_nine (0.11.2)
|
142
|
+
json (2.6.3)
|
143
|
+
listen (3.8.0)
|
144
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
145
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
146
|
+
loofah (2.20.0)
|
147
|
+
crass (~> 1.0.2)
|
148
|
+
nokogiri (>= 1.5.9)
|
149
|
+
lumberjack (1.2.8)
|
150
|
+
mail (2.8.1)
|
151
|
+
mini_mime (>= 0.1.1)
|
152
|
+
net-imap
|
153
|
+
net-pop
|
154
|
+
net-smtp
|
155
|
+
marcel (1.0.2)
|
156
|
+
method_source (1.0.0)
|
157
|
+
mini_mime (1.1.2)
|
158
|
+
minitest (5.18.0)
|
159
|
+
nenv (0.3.0)
|
160
|
+
net-imap (0.3.4)
|
161
|
+
date
|
162
|
+
net-protocol
|
163
|
+
net-pop (0.1.2)
|
164
|
+
net-protocol
|
165
|
+
net-protocol (0.2.1)
|
166
|
+
timeout
|
167
|
+
net-smtp (0.3.3)
|
168
|
+
net-protocol
|
169
|
+
nio4r (2.5.9)
|
170
|
+
nokogiri (1.14.3-arm64-darwin)
|
171
|
+
racc (~> 1.4)
|
172
|
+
nokogiri (1.14.3-x86_64-linux)
|
173
|
+
racc (~> 1.4)
|
174
|
+
notiffany (0.1.3)
|
175
|
+
nenv (~> 0.1)
|
176
|
+
shellany (~> 0.0)
|
177
|
+
parallel (1.23.0)
|
178
|
+
parse_a_changelog (1.2.0)
|
179
|
+
treetop (~> 1.6)
|
180
|
+
parser (3.2.2.1)
|
181
|
+
ast (~> 2.4.1)
|
182
|
+
pg (1.5.3)
|
183
|
+
polyglot (0.3.5)
|
184
|
+
pry (0.14.2)
|
185
|
+
coderay (~> 1.1)
|
186
|
+
method_source (~> 1.0)
|
187
|
+
public_suffix (5.0.1)
|
188
|
+
puma (6.2.2)
|
189
|
+
nio4r (~> 2.0)
|
190
|
+
racc (1.6.2)
|
191
|
+
rack (2.2.7)
|
192
|
+
rack-test (2.1.0)
|
193
|
+
rack (>= 1.3)
|
194
|
+
rails (7.0.4.3)
|
195
|
+
actioncable (= 7.0.4.3)
|
196
|
+
actionmailbox (= 7.0.4.3)
|
197
|
+
actionmailer (= 7.0.4.3)
|
198
|
+
actionpack (= 7.0.4.3)
|
199
|
+
actiontext (= 7.0.4.3)
|
200
|
+
actionview (= 7.0.4.3)
|
201
|
+
activejob (= 7.0.4.3)
|
202
|
+
activemodel (= 7.0.4.3)
|
203
|
+
activerecord (= 7.0.4.3)
|
204
|
+
activestorage (= 7.0.4.3)
|
205
|
+
activesupport (= 7.0.4.3)
|
206
|
+
bundler (>= 1.15.0)
|
207
|
+
railties (= 7.0.4.3)
|
208
|
+
rails-dom-testing (2.0.3)
|
209
|
+
activesupport (>= 4.2.0)
|
210
|
+
nokogiri (>= 1.6)
|
211
|
+
rails-html-sanitizer (1.5.0)
|
212
|
+
loofah (~> 2.19, >= 2.19.1)
|
213
|
+
railties (7.0.4.3)
|
214
|
+
actionpack (= 7.0.4.3)
|
215
|
+
activesupport (= 7.0.4.3)
|
216
|
+
method_source
|
217
|
+
rake (>= 12.2)
|
218
|
+
thor (~> 1.0)
|
219
|
+
zeitwerk (~> 2.5)
|
220
|
+
rainbow (3.1.1)
|
221
|
+
rake (13.0.6)
|
222
|
+
rb-fsevent (0.11.2)
|
223
|
+
rb-inotify (0.10.1)
|
224
|
+
ffi (~> 1.0)
|
225
|
+
rchardet (1.8.0)
|
226
|
+
redis-client (0.14.1)
|
227
|
+
connection_pool
|
228
|
+
regexp_parser (2.8.0)
|
229
|
+
retriable (3.1.2)
|
230
|
+
rexml (3.2.5)
|
231
|
+
rspec (3.12.0)
|
232
|
+
rspec-core (~> 3.12.0)
|
233
|
+
rspec-expectations (~> 3.12.0)
|
234
|
+
rspec-mocks (~> 3.12.0)
|
235
|
+
rspec-core (3.12.2)
|
236
|
+
rspec-support (~> 3.12.0)
|
237
|
+
rspec-expectations (3.12.3)
|
238
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
239
|
+
rspec-support (~> 3.12.0)
|
240
|
+
rspec-mocks (3.12.5)
|
241
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
242
|
+
rspec-support (~> 3.12.0)
|
243
|
+
rspec-rails (6.0.1)
|
244
|
+
actionpack (>= 6.1)
|
245
|
+
activesupport (>= 6.1)
|
246
|
+
railties (>= 6.1)
|
247
|
+
rspec-core (~> 3.11)
|
248
|
+
rspec-expectations (~> 3.11)
|
249
|
+
rspec-mocks (~> 3.11)
|
250
|
+
rspec-support (~> 3.11)
|
251
|
+
rspec-support (3.12.0)
|
252
|
+
rubocop (1.50.2)
|
253
|
+
json (~> 2.3)
|
254
|
+
parallel (~> 1.10)
|
255
|
+
parser (>= 3.2.0.0)
|
256
|
+
rainbow (>= 2.2.2, < 4.0)
|
257
|
+
regexp_parser (>= 1.8, < 3.0)
|
258
|
+
rexml (>= 3.2.5, < 4.0)
|
259
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
260
|
+
ruby-progressbar (~> 1.7)
|
261
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
262
|
+
rubocop-ast (1.28.1)
|
263
|
+
parser (>= 3.2.1.0)
|
264
|
+
rubocop-capybara (2.18.0)
|
265
|
+
rubocop (~> 1.41)
|
266
|
+
rubocop-performance (1.17.1)
|
267
|
+
rubocop (>= 1.7.0, < 2.0)
|
268
|
+
rubocop-ast (>= 0.4.0)
|
269
|
+
rubocop-rails (2.19.1)
|
270
|
+
activesupport (>= 4.2.0)
|
271
|
+
rack (>= 1.1)
|
272
|
+
rubocop (>= 1.33.0, < 2.0)
|
273
|
+
rubocop-rspec (2.20.0)
|
274
|
+
rubocop (~> 1.33)
|
275
|
+
rubocop-capybara (~> 2.17)
|
276
|
+
rubocop-vendor (0.9.2)
|
277
|
+
rubocop (>= 0.53.0)
|
278
|
+
ruby-progressbar (1.13.0)
|
279
|
+
shellany (0.0.1)
|
280
|
+
sidekiq (7.1.0)
|
281
|
+
concurrent-ruby (< 2)
|
282
|
+
connection_pool (>= 2.3.0)
|
283
|
+
rack (>= 2.2.4)
|
284
|
+
redis-client (>= 0.14.0)
|
285
|
+
thor (1.2.1)
|
286
|
+
timeout (0.3.2)
|
287
|
+
treetop (1.6.12)
|
288
|
+
polyglot (~> 0.3)
|
289
|
+
tzinfo (2.0.6)
|
290
|
+
concurrent-ruby (~> 1.0)
|
291
|
+
unicode-display_width (2.4.2)
|
292
|
+
websocket-driver (0.7.5)
|
293
|
+
websocket-extensions (>= 0.1.0)
|
294
|
+
websocket-extensions (0.1.5)
|
295
|
+
ws-style (6.14.6)
|
296
|
+
rubocop (>= 1.36)
|
297
|
+
rubocop-performance (>= 1.10.2)
|
298
|
+
rubocop-rails (>= 2.9.1)
|
299
|
+
rubocop-rspec (>= 2.2.0)
|
300
|
+
rubocop-vendor (>= 0.6.0)
|
301
|
+
zeitwerk (2.6.8)
|
302
|
+
|
303
|
+
PLATFORMS
|
304
|
+
arm64-darwin-22
|
305
|
+
x86_64-linux
|
306
|
+
|
307
|
+
DEPENDENCIES
|
308
|
+
bundle-audit
|
309
|
+
eventsimple!
|
310
|
+
fuubar
|
311
|
+
git
|
312
|
+
guard-rspec
|
313
|
+
parse_a_changelog
|
314
|
+
pry
|
315
|
+
puma
|
316
|
+
rspec-rails
|
317
|
+
ws-style
|
318
|
+
|
319
|
+
BUNDLED WITH
|
320
|
+
2.3.26
|
data/Guardfile
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
## Uncomment and set this to only include directories you want to watch
|
5
|
+
# directories %w(app lib config test spec features) \
|
6
|
+
# .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}
|
7
|
+
|
8
|
+
## Note: if you are using the `directories` clause above and you are not
|
9
|
+
## watching the project directory ('.'), then you will want to move
|
10
|
+
## the Guardfile to a watched dir and symlink it back, e.g.
|
11
|
+
#
|
12
|
+
# $ mkdir config
|
13
|
+
# $ mv Guardfile config/
|
14
|
+
# $ ln -s config/Guardfile .
|
15
|
+
#
|
16
|
+
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
|
17
|
+
|
18
|
+
guard :rspec, cmd: 'bundle exec rspec' do
|
19
|
+
require 'guard/rspec/dsl'
|
20
|
+
dsl = Guard::RSpec::Dsl.new(self)
|
21
|
+
|
22
|
+
# Feel free to open issues for suggestions and improvements
|
23
|
+
|
24
|
+
# RSpec files
|
25
|
+
rspec = dsl.rspec
|
26
|
+
watch(rspec.spec_helper) { rspec.spec_dir }
|
27
|
+
watch(rspec.spec_support) { rspec.spec_dir }
|
28
|
+
watch(rspec.spec_files)
|
29
|
+
|
30
|
+
# Ruby files
|
31
|
+
ruby = dsl.ruby
|
32
|
+
dsl.watch_spec_files_for(ruby.lib_files)
|
33
|
+
|
34
|
+
watch(/^(.+)\.rb$/) { |m| "spec/#{m[1]}_spec.rb" }
|
35
|
+
end
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2023 Wealthsimple
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|