evt-consumer-event_store 0.2.1.1 → 0.3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 662e0114549951c68e052b7cb91cd869fb3b6c08
4
- data.tar.gz: b89ef00453b95aa34b649540bb9aaa73ca489902
3
+ metadata.gz: 8198797269a8305829bf75445528c0e9857a2b4e
4
+ data.tar.gz: ff430be9229c0b32aa819d452767aba402c3ce9f
5
5
  SHA512:
6
- metadata.gz: c2d42ea109c7fc95836c1fc74c0ebd5ece1feed7d1d9ba391e488e45c57da17875defe0883835c037baf96d78b8d3e3ae6d201af9a54c8169b8c5dd8bf286935
7
- data.tar.gz: e3e13bdbbf5188b3cf2684a0973c87834e970e9227f20984b2df9cb99b338c405ec3dfec421409127f67f0ac1629140479767df2626281c13e6d4bae9dffd351
6
+ metadata.gz: 2e2ae37969637886332a04760b2c9f4e435e570d7bc7f74f0aa9849d2c8a40a125bdf431ffbd84767380524edeab757116a4e97e6c1dab8592afced0baa21e1c
7
+ data.tar.gz: f20d34f092577d031febbe0eb4ce4d151519475b7f17cee491526ad596a548c314ecf8011ade78ab00175dd8205d309a0e64c0ebbffe16bd9c5a3e1f154f9fc0
@@ -1,7 +1,7 @@
1
1
  module Consumer
2
2
  module EventStore
3
3
  module Controls
4
- EventData = ::Consumer::Controls::EventData
4
+ MessageData = ::Consumer::Controls::MessageData
5
5
  end
6
6
  end
7
7
  end
@@ -7,7 +7,7 @@ module Consumer
7
7
  stream_name ||= StreamName.example type: 'position'
8
8
  position ||= 0
9
9
 
10
- message = PositionStore::PositionUpdated.new
10
+ message = PositionStore::Updated.new
11
11
  message.position = position
12
12
 
13
13
  Messaging::EventStore::Write.(message, stream_name)
@@ -1,7 +1,7 @@
1
1
  require 'consumer/controls'
2
2
 
3
3
  require 'consumer/event_store/controls/category'
4
- require 'consumer/event_store/controls/event_data'
4
+ require 'consumer/event_store/controls/message_data'
5
5
  require 'consumer/event_store/controls/handle'
6
6
  require 'consumer/event_store/controls/position_stream'
7
7
  require 'consumer/event_store/controls/stream_name'
@@ -15,18 +15,16 @@ module Consumer
15
15
  get_session = CopySession.(session)
16
16
  end
17
17
 
18
- EventSource::EventStore::HTTP::Get.configure(
18
+ MessageStore::EventStore::Get.configure(
19
19
  self,
20
20
  batch_size: batch_size,
21
21
  long_poll_duration: long_poll_duration,
22
22
  session: get_session
23
23
  )
24
24
 
25
- position_store_stream_name = stream_name.sub %r{\A\$ce-}, ''
26
-
27
25
  PositionStore.configure(
28
26
  self,
29
- position_store_stream_name,
27
+ stream_name,
30
28
  session: session,
31
29
  position_store: position_store
32
30
  )
@@ -0,0 +1,28 @@
1
+ module Consumer
2
+ module EventStore
3
+ class PositionStore
4
+ module StreamName
5
+ def self.get(stream_name)
6
+ match_data = MessageStore::EventStore::StreamName.parse(stream_name)
7
+
8
+ types = match_data[:type_list]
9
+ types = Array(types)
10
+
11
+ return stream_name if types.include?('position')
12
+
13
+ types << 'position'
14
+
15
+ entity_name = match_data[:entity]
16
+
17
+ stream_id = match_data[:stream_id]
18
+
19
+ MessageStore::StreamName.stream_name(
20
+ entity_name,
21
+ stream_id,
22
+ types: types
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ module Consumer
2
+ module EventStore
3
+ class PositionStore
4
+ class Updated
5
+ include Messaging::Message
6
+
7
+ attribute :position, Integer
8
+ end
9
+ end
10
+ end
11
+ end
@@ -5,61 +5,38 @@ module Consumer
5
5
 
6
6
  initializer :stream_name
7
7
 
8
- dependency :get_last, EventSource::EventStore::HTTP::Get::Last
9
- dependency :session, EventSource::EventStore::HTTP::Session
8
+ dependency :get_last, MessageStore::EventStore::Get::Last
9
+ dependency :session, MessageStore::EventStore::Session
10
10
  dependency :write, ::Messaging::EventStore::Write
11
11
 
12
12
  def self.build(stream_name, session: nil)
13
- position_stream_name = StreamName.canonize stream_name
13
+ position_stream_name = StreamName.get(stream_name)
14
14
 
15
15
  instance = new position_stream_name
16
- EventSource::EventStore::HTTP::Session.configure instance, session: session
16
+ MessageStore::EventStore::Session.configure instance, session: session
17
17
  instance.configure
18
18
  instance
19
19
  end
20
20
 
21
21
  def configure
22
- EventSource::EventStore::HTTP::Get::Last.configure self, session: session
22
+ MessageStore::EventStore::Get::Last.configure self, session: session
23
23
  Messaging::EventStore::Write.configure self, session: session
24
24
  end
25
25
 
26
26
  def get
27
- event_data = get_last.(stream_name)
27
+ message_data = get_last.(stream_name)
28
28
 
29
- return nil if event_data.nil?
29
+ return nil if message_data.nil?
30
30
 
31
- message = Messaging::Message::Import.(event_data, PositionUpdated)
31
+ message = Messaging::Message::Import.(message_data, Updated)
32
32
  message.position
33
33
  end
34
34
 
35
35
  def put(position)
36
- message = PositionUpdated.build :position => position
36
+ message = Updated.new
37
+ message.position = position
37
38
 
38
39
  write.(message, stream_name)
39
-
40
- message
41
- end
42
-
43
- class PositionUpdated
44
- include Messaging::Message
45
-
46
- attribute :position, Integer
47
- end
48
-
49
- module StreamName
50
- def self.canonize(stream_name)
51
- types = EventSource::StreamName.get_type_list stream_name
52
- types = Array(types)
53
-
54
- return stream_name if types.include? 'position'
55
-
56
- types << 'position'
57
-
58
- entity_name = EventSource::StreamName.get_entity_name stream_name
59
- id = EventSource::StreamName.get_id stream_name
60
-
61
- EventSource::StreamName.stream_name entity_name, id, types: types
62
- end
63
40
  end
64
41
  end
65
42
  end
@@ -1,6 +1,11 @@
1
1
  require 'consumer'
2
+
2
3
  require 'messaging/event_store'
3
4
 
5
+ require 'consumer/event_store/position_store'
6
+ require 'consumer/event_store/position_store/updated'
7
+ require 'consumer/event_store/position_store/stream_name'
8
+
4
9
  require 'consumer/event_store/copy_session'
10
+
5
11
  require 'consumer/event_store/event_store'
6
- require 'consumer/event_store/position_store'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-consumer-event_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1.1
4
+ version: 0.3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-01 00:00:00.000000000 Z
11
+ date: 2017-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-consumer
@@ -62,13 +62,15 @@ files:
62
62
  - lib/consumer/event_store/controls.rb
63
63
  - lib/consumer/event_store/controls/category.rb
64
64
  - lib/consumer/event_store/controls/consumer.rb
65
- - lib/consumer/event_store/controls/event_data.rb
66
65
  - lib/consumer/event_store/controls/handle.rb
66
+ - lib/consumer/event_store/controls/message_data.rb
67
67
  - lib/consumer/event_store/controls/position_stream.rb
68
68
  - lib/consumer/event_store/controls/stream_name.rb
69
69
  - lib/consumer/event_store/copy_session.rb
70
70
  - lib/consumer/event_store/event_store.rb
71
71
  - lib/consumer/event_store/position_store.rb
72
+ - lib/consumer/event_store/position_store/stream_name.rb
73
+ - lib/consumer/event_store/position_store/updated.rb
72
74
  homepage: https://github.com/eventide-project/consumer-event-store
73
75
  licenses:
74
76
  - MIT