journaled 2.0.3 → 2.1.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 +5 -5
- data/README.md +16 -0
- data/app/models/journaled/event.rb +1 -1
- data/app/models/journaled/writer.rb +1 -1
- data/config/spring.rb +1 -0
- data/lib/journaled.rb +2 -0
- data/{app/models → lib}/journaled/job_priority.rb +0 -0
- data/lib/journaled/version.rb +1 -1
- data/spec/dummy/log/development.log +108 -17
- data/spec/dummy/log/test.log +14574 -1241
- data/spec/models/journaled/event_spec.rb +30 -22
- data/spec/models/journaled/writer_spec.rb +1 -1
- metadata +34 -4
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
RSpec.describe Journaled::Event do
|
4
|
+
let(:sample_journaled_event_class_name) { 'SomeClassName' }
|
4
5
|
let(:sample_journaled_event_class) do
|
5
|
-
|
6
|
+
Class.new do
|
6
7
|
include Journaled::Event
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
Object.send(:remove_const, :SomeModule) if defined?(SomeModule)
|
11
|
+
before do
|
12
|
+
stub_const(sample_journaled_event_class_name, sample_journaled_event_class)
|
13
13
|
end
|
14
14
|
|
15
15
|
let(:sample_journaled_event) { sample_journaled_event_class.new }
|
@@ -21,10 +21,28 @@ RSpec.describe Journaled::Event do
|
|
21
21
|
allow(Journaled::Writer).to receive(:new).and_return(mock_journaled_writer)
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
context 'when no app job priority is set' do
|
25
|
+
it 'creates a Journaled::Writer with this event and journals it with the default priority' do
|
26
|
+
sample_journaled_event.journal!
|
27
|
+
expect(Journaled::Writer).to have_received(:new)
|
28
|
+
.with(journaled_event: sample_journaled_event, priority: Journaled::JobPriority::EVENTUAL)
|
29
|
+
expect(mock_journaled_writer).to have_received(:journal!)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when there is an app job priority is set' do
|
34
|
+
around do |example|
|
35
|
+
orig_priority = Journaled.job_priority
|
36
|
+
Journaled.job_priority = 13
|
37
|
+
example.run
|
38
|
+
Journaled.job_priority = orig_priority
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'creates a Journaled::Writer with this event and journals it with the given priority' do
|
42
|
+
sample_journaled_event.journal!
|
43
|
+
expect(Journaled::Writer).to have_received(:new).with(journaled_event: sample_journaled_event, priority: 13)
|
44
|
+
expect(mock_journaled_writer).to have_received(:journal!)
|
45
|
+
end
|
28
46
|
end
|
29
47
|
end
|
30
48
|
|
@@ -34,12 +52,7 @@ RSpec.describe Journaled::Event do
|
|
34
52
|
end
|
35
53
|
|
36
54
|
context 'when the class is modularized' do
|
37
|
-
let(:
|
38
|
-
SomeModule = Module.new
|
39
|
-
SomeModule::SomeClassName = Class.new do
|
40
|
-
include Journaled::Event
|
41
|
-
end
|
42
|
-
end
|
55
|
+
let(:sample_journaled_event_class_name) { 'SomeModule::SomeClassName' }
|
43
56
|
|
44
57
|
it 'returns the underscored version on the class name' do
|
45
58
|
expect(sample_journaled_event.journaled_schema_name).to eq 'some_module/some_class_name'
|
@@ -53,12 +66,7 @@ RSpec.describe Journaled::Event do
|
|
53
66
|
end
|
54
67
|
|
55
68
|
context 'when the class is modularized' do
|
56
|
-
let(:
|
57
|
-
SomeModule = Module.new
|
58
|
-
SomeModule::SomeClassName = Class.new do
|
59
|
-
include Journaled::Event
|
60
|
-
end
|
61
|
-
end
|
69
|
+
let(:sample_journaled_event_class_name) { 'SomeModule::SomeClassName' }
|
62
70
|
|
63
71
|
it 'returns the underscored version on the class name, with slashes replaced with underscores' do
|
64
72
|
expect(sample_journaled_event.event_type).to eq 'some_module_some_class_name'
|
@@ -102,7 +110,7 @@ RSpec.describe Journaled::Event do
|
|
102
110
|
|
103
111
|
context 'when there are additional attributes specified, but not defined' do
|
104
112
|
let(:sample_journaled_event_class) do
|
105
|
-
|
113
|
+
Class.new do
|
106
114
|
include Journaled::Event
|
107
115
|
|
108
116
|
journal_attributes :foo
|
@@ -116,7 +124,7 @@ RSpec.describe Journaled::Event do
|
|
116
124
|
|
117
125
|
context 'when there are additional attributes specified and defined' do
|
118
126
|
let(:sample_journaled_event_class) do
|
119
|
-
|
127
|
+
Class.new do
|
120
128
|
include Journaled::Event
|
121
129
|
|
122
130
|
journal_attributes :foo, :bar
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
RSpec.describe Journaled::Writer do
|
4
|
-
subject { described_class.new journaled_event: journaled_event }
|
4
|
+
subject { described_class.new journaled_event: journaled_event, priority: Journaled::JobPriority::EVENTUAL }
|
5
5
|
|
6
6
|
describe '#initialize' do
|
7
7
|
context 'when the Journaled Event does not implement all the necessary methods' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: journaled
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Lipson
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-09-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: aws-sdk-resources
|
@@ -167,6 +167,34 @@ dependencies:
|
|
167
167
|
- - '='
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: 1.3.0
|
170
|
+
- !ruby/object:Gem::Dependency
|
171
|
+
name: spring
|
172
|
+
requirement: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '0'
|
177
|
+
type: :development
|
178
|
+
prerelease: false
|
179
|
+
version_requirements: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - ">="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
- !ruby/object:Gem::Dependency
|
185
|
+
name: spring-commands-rspec
|
186
|
+
requirement: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
type: :development
|
192
|
+
prerelease: false
|
193
|
+
version_requirements: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ">="
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
170
198
|
- !ruby/object:Gem::Dependency
|
171
199
|
name: timecop
|
172
200
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,16 +245,17 @@ files:
|
|
217
245
|
- app/models/journaled/change_writer.rb
|
218
246
|
- app/models/journaled/delivery.rb
|
219
247
|
- app/models/journaled/event.rb
|
220
|
-
- app/models/journaled/job_priority.rb
|
221
248
|
- app/models/journaled/json_schema_model/validator.rb
|
222
249
|
- app/models/journaled/not_truly_exceptional_error.rb
|
223
250
|
- app/models/journaled/writer.rb
|
224
251
|
- config/initializers/change_protection.rb
|
225
252
|
- config/routes.rb
|
253
|
+
- config/spring.rb
|
226
254
|
- journaled_schemas/base_event.json
|
227
255
|
- journaled_schemas/journaled/change.json
|
228
256
|
- lib/journaled.rb
|
229
257
|
- lib/journaled/engine.rb
|
258
|
+
- lib/journaled/job_priority.rb
|
230
259
|
- lib/journaled/relation_change_protection.rb
|
231
260
|
- lib/journaled/rspec.rb
|
232
261
|
- lib/journaled/version.rb
|
@@ -295,7 +324,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
295
324
|
- !ruby/object:Gem::Version
|
296
325
|
version: '0'
|
297
326
|
requirements: []
|
298
|
-
|
327
|
+
rubyforge_project:
|
328
|
+
rubygems_version: 2.6.13
|
299
329
|
signing_key:
|
300
330
|
specification_version: 4
|
301
331
|
summary: Journaling for Betterment apps.
|