journaled 2.0.3 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|