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.
@@ -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.