journaled 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- SomeClassName = Class.new do
6
+ Class.new do
6
7
  include Journaled::Event
7
8
  end
8
9
  end
9
10
 
10
- after do
11
- Object.send(:remove_const, :SomeClassName) if defined?(SomeClassName)
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
- it 'creates a Journaled::Writer with this event and journals it' do
25
- sample_journaled_event.journal!
26
- expect(Journaled::Writer).to have_received(:new).with(journaled_event: sample_journaled_event)
27
- expect(mock_journaled_writer).to have_received(:journal!)
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(:sample_journaled_event_class) do
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(:sample_journaled_event_class) do
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
- SomeClassName = Class.new do
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
- SomeClassName = Class.new do
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.3
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-07-10 00:00:00.000000000 Z
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
- rubygems_version: 3.0.3
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.