rails_event_store 0.28.2 → 0.29.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36c977dd02fc9617c8070e6651071696f4cf321636dbce536f682ec700790a62
4
- data.tar.gz: 93958d4387d436f61486c7bbe06989892c95d48ec6b1f6708b11de63649a89d8
3
+ metadata.gz: fd9e513f596526d177e0c8bd4d83e69cc2e4a9e7a1da997b06476f1627e706b9
4
+ data.tar.gz: 4f206686458299fd3fbea36de7e958fa78f7d7156b31430372ccf418a92642e1
5
5
  SHA512:
6
- metadata.gz: f73524c174cc4be69e50d74d6e70f9826be46fa03d45d6726ba3c8de5c388a67380937492d830c6795c4cd5998b813d5d05fbd8e5222a0db25e9c27215ca1982
7
- data.tar.gz: 829841982455ab52cd685e0d8856b5ab232e765b4c4e93b8d2112763c9b2e61ebb6e48b6276e0608edaf69fff80d42df952e0902af9d984fe689ecd73ecfb98c
6
+ metadata.gz: 79fe89e91791087fd4882ca33128cdf1bfbb63146b10842534df7fa7cd72c408bdc2b5bdda9847c2c7c4a5eb70d0a7fde670fc39bada18751df3a3b039fa0384
7
+ data.tar.gz: e25fbdc029a478f45cc1c5de6d4d220712fe0c64ca2a22c79ffc36c1c5bc3453a8e68a5ae98e077440815f4ea5cc7a7f63802003d6b7285a6fe4b53976e9d738
@@ -1,16 +1,34 @@
1
1
  module RailsEventStore
2
2
  class Client < RubyEventStore::Client
3
+ attr_reader :request_metadata
4
+
3
5
  def initialize(repository: RailsEventStoreActiveRecord::EventRepository.new,
4
6
  mapper: RubyEventStore::Mappers::Default.new,
5
7
  event_broker: EventBroker.new(dispatcher: ActiveJobDispatcher.new),
8
+ request_metadata: default_request_metadata,
6
9
  page_size: PAGE_SIZE)
7
- capture_metadata = ->{ Thread.current[:rails_event_store] }
8
10
  super(repository: repository,
9
11
  mapper: mapper,
10
12
  event_broker: event_broker,
11
- page_size: page_size,
12
- metadata_proc: capture_metadata)
13
+ page_size: page_size)
14
+ @request_metadata = request_metadata
15
+ end
16
+
17
+ def with_request_metadata(env, &block)
18
+ with_metadata(request_metadata.call(env)) do
19
+ block.call
20
+ end
13
21
  end
14
22
 
23
+ private
24
+ def default_request_metadata
25
+ ->(env) do
26
+ request = ActionDispatch::Request.new(env)
27
+ {
28
+ remote_ip: request.remote_ip,
29
+ request_id: request.uuid
30
+ }
31
+ end
32
+ end
15
33
  end
16
- end
34
+ end
@@ -1,15 +1,23 @@
1
1
  module RailsEventStore
2
2
  class Middleware
3
- def initialize(app, request_metadata_proc)
3
+ def initialize(app)
4
4
  @app = app
5
- @request_metadata_proc = request_metadata_proc
6
5
  end
7
6
 
8
7
  def call(env)
9
- Thread.current[:rails_event_store] = @request_metadata_proc.(env)
10
- @app.call(env)
11
- ensure
12
- Thread.current[:rails_event_store] = nil
8
+ if config.respond_to?(:event_store)
9
+ config.event_store.with_request_metadata(env) do
10
+ @app.call(env)
11
+ end
12
+ else
13
+ @app.call(env)
14
+ end
15
+ end
16
+
17
+ private
18
+
19
+ def config
20
+ Rails.application.config
13
21
  end
14
22
  end
15
23
  end
@@ -4,28 +4,7 @@ require 'rails_event_store/middleware'
4
4
  module RailsEventStore
5
5
  class Railtie < ::Rails::Railtie
6
6
  initializer 'rails_event_store.middleware' do |rails|
7
- rails.middleware.use(::RailsEventStore::Middleware, RailsConfig.new(rails.config).request_metadata)
8
- end
9
-
10
- class RailsConfig
11
- def initialize(config)
12
- @config = config
13
- end
14
-
15
- def request_metadata
16
- return default_request_metadata unless @config.respond_to?(:rails_event_store)
17
- @config.rails_event_store.fetch(:request_metadata, default_request_metadata)
18
- end
19
-
20
- private
21
- def default_request_metadata
22
- ->(env) do
23
- request = ActionDispatch::Request.new(env)
24
- { remote_ip: request.remote_ip,
25
- request_id: request.uuid,
26
- }
27
- end
28
- end
7
+ rails.middleware.use(::RailsEventStore::Middleware)
29
8
  end
30
9
  end
31
10
  end
@@ -1,3 +1,3 @@
1
1
  module RailsEventStore
2
- VERSION = "0.28.2"
2
+ VERSION = "0.29.0"
3
3
  end
@@ -29,16 +29,15 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'rake', '~> 10.0'
30
30
  spec.add_development_dependency 'rspec', '~> 3.6'
31
31
  spec.add_development_dependency 'rails', '~> 5.2'
32
- spec.add_development_dependency 'pry'
33
32
  spec.add_development_dependency 'sqlite3'
34
33
  spec.add_development_dependency 'rack-test'
35
34
  spec.add_development_dependency 'mutant-rspec', '~> 0.8.14'
36
35
  spec.add_development_dependency 'google-protobuf', '~> 3.5.1.2'
37
36
 
38
- spec.add_dependency 'ruby_event_store', '= 0.28.2'
39
- spec.add_dependency 'rails_event_store_active_record', '= 0.28.2'
40
- spec.add_dependency 'aggregate_root', '= 0.28.2'
41
- spec.add_dependency 'bounded_context', '= 0.28.2'
37
+ spec.add_dependency 'ruby_event_store', '= 0.29.0'
38
+ spec.add_dependency 'rails_event_store_active_record', '= 0.29.0'
39
+ spec.add_dependency 'aggregate_root', '= 0.29.0'
40
+ spec.add_dependency 'bounded_context', '= 0.29.0'
42
41
  spec.add_dependency 'activesupport', '>= 3.0'
43
42
  spec.add_dependency 'activemodel', '>= 3.0'
44
43
  spec.add_dependency 'activejob', '>= 3.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_event_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.2
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arkency
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '5.2'
69
- - !ruby/object:Gem::Dependency
70
- name: pry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: sqlite3
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -142,56 +128,56 @@ dependencies:
142
128
  requirements:
143
129
  - - '='
144
130
  - !ruby/object:Gem::Version
145
- version: 0.28.2
131
+ version: 0.29.0
146
132
  type: :runtime
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - '='
151
137
  - !ruby/object:Gem::Version
152
- version: 0.28.2
138
+ version: 0.29.0
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: rails_event_store_active_record
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - '='
158
144
  - !ruby/object:Gem::Version
159
- version: 0.28.2
145
+ version: 0.29.0
160
146
  type: :runtime
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - '='
165
151
  - !ruby/object:Gem::Version
166
- version: 0.28.2
152
+ version: 0.29.0
167
153
  - !ruby/object:Gem::Dependency
168
154
  name: aggregate_root
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - '='
172
158
  - !ruby/object:Gem::Version
173
- version: 0.28.2
159
+ version: 0.29.0
174
160
  type: :runtime
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - '='
179
165
  - !ruby/object:Gem::Version
180
- version: 0.28.2
166
+ version: 0.29.0
181
167
  - !ruby/object:Gem::Dependency
182
168
  name: bounded_context
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - '='
186
172
  - !ruby/object:Gem::Version
187
- version: 0.28.2
173
+ version: 0.29.0
188
174
  type: :runtime
189
175
  prerelease: false
190
176
  version_requirements: !ruby/object:Gem::Requirement
191
177
  requirements:
192
178
  - - '='
193
179
  - !ruby/object:Gem::Version
194
- version: 0.28.2
180
+ version: 0.29.0
195
181
  - !ruby/object:Gem::Dependency
196
182
  name: activesupport
197
183
  requirement: !ruby/object:Gem::Requirement
@@ -259,7 +245,6 @@ files:
259
245
  - Gemfile
260
246
  - Makefile
261
247
  - README.md
262
- - Rakefile
263
248
  - lib/rails_event_store.rb
264
249
  - lib/rails_event_store/active_job_dispatcher.rb
265
250
  - lib/rails_event_store/all.rb
data/Rakefile DELETED
@@ -1,20 +0,0 @@
1
- require 'pry'
2
-
3
- EMPTY_DB = 'spec/test.sqlite3'
4
- DEV_DB = 'tmp/run.sqlite3'
5
-
6
- task :run do
7
- FileUtils.cp(EMPTY_DB, DEV_DB) unless File.exist?(DEV_DB)
8
- require 'rails_event_store'
9
- RailsEventStoreActiveRecord::Event.establish_connection(
10
- :adapter => 'sqlite3',
11
- :database => DEV_DB
12
- )
13
- pry
14
- end
15
-
16
- task :clean do
17
- FileUtils.rm(DEV_DB) if File.exist?(DEV_DB)
18
- end
19
-
20
- task start: [:clean, :run]