evt-consumer-postgres 2.2.0.0 → 2.3.2.1

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: d70c7356d131dd6d6cbe9242ddfa54ac600e40cea725de3232042cb3b0cac802
4
- data.tar.gz: 2aecd3ff64cd6258b48b1ebcb95f432606d998b386592f4cdc94775d86ea2faa
3
+ metadata.gz: 4f2cedd4bf0b74f3dbaf6a106848d4565a5293e9e64c0d7aaaa65f858ed161fb
4
+ data.tar.gz: 3bbd51b10ef1e29d9389509635e848a93cf61125a19d5e3017ba4873ea065321
5
5
  SHA512:
6
- metadata.gz: 02e7fa5d900dd3e9afa138aedb2f257fd7b2d16dae4fbf8373981ddab290c63d2854e555921c0b06894c679f5cf2bf15b68df2c3a69daba037624ee9868a9b00
7
- data.tar.gz: bc1c3e7c2cfc5db09cdb805463602c450785a0b9d283044ad77a3921ba40004c2c7a7c7b4f851e739a47f09faa3a4359c30143cf41dd02d5634d334c0db509d1
6
+ metadata.gz: a35c5c9b664660be24a76276b90c8589ceaa9f2677c91ecdfca7ec2ec9442a12cdea5aa1f70bf863592d5403f1344d8c3e3c3eccac949c5c53cea05f7df15e39
7
+ data.tar.gz: f0576665c9132715ad5d6291a1d0b07c0b3a037a2e383e34a9b342394dc5a94e839063c663f47b0721da309e834abeea8f930172187df3567d962661d473ac3b
@@ -1,6 +1,7 @@
1
1
  require 'consumer'
2
2
 
3
3
  require 'messaging/postgres'
4
+ require 'consumer/postgres/identifier'
4
5
 
5
6
  require 'consumer/postgres/position_store'
6
7
  require 'consumer/postgres/position_store/recorded'
@@ -1,7 +1,7 @@
1
1
  module Consumer
2
2
  module Postgres
3
3
  module Controls
4
- ID = Identifier::UUID::Controls::Incrementing
4
+ ID = ::Identifier::UUID::Controls::Incrementing
5
5
  end
6
6
  end
7
7
  end
@@ -8,6 +8,8 @@ module Consumer
8
8
 
9
9
  message
10
10
  end
11
+
12
+ Metadata = Messaging::Controls::Metadata
11
13
  end
12
14
  end
13
15
  end
@@ -1,7 +1,7 @@
1
1
  module Consumer
2
2
  module Postgres
3
3
  module Controls
4
- StreamName = ::Consumer::Controls::StreamName
4
+ StreamName = Messaging::Controls::StreamName
5
5
 
6
6
  module StreamName
7
7
  module Position
@@ -11,7 +11,7 @@ module Consumer
11
11
 
12
12
  types << 'position'
13
13
 
14
- StreamName.example(
14
+ Messaging::Controls::StreamName.example(
15
15
  id: id,
16
16
  category: category,
17
17
  types: types
@@ -0,0 +1,7 @@
1
+ module Consumer
2
+ module Postgres
3
+ module Identifier
4
+ Error = Class.new(RuntimeError)
5
+ end
6
+ end
7
+ end
@@ -29,6 +29,10 @@ module Consumer
29
29
  Messaging::Postgres::Write.configure(self, session: session)
30
30
  end
31
31
 
32
+ def location
33
+ stream_name
34
+ end
35
+
32
36
  def get
33
37
  message_data = read.(stream_name)
34
38
 
@@ -9,7 +9,6 @@ module Consumer
9
9
  raise Error, "Position store's stream name must be a category (Stream Name: #{stream_name})"
10
10
  end
11
11
 
12
- stream_id = MessageStore::StreamName.get_id(stream_name)
13
12
  entity_name = MessageStore::StreamName.get_entity_name(stream_name)
14
13
  type_list = MessageStore::StreamName.get_types(stream_name)
15
14
 
@@ -19,12 +18,9 @@ module Consumer
19
18
  type_list << position_type
20
19
  end
21
20
 
21
+ stream_id = nil
22
22
  if not consumer_identifier.nil?
23
- if stream_id.nil?
24
- stream_id = consumer_identifier
25
- else
26
- stream_id = "#{stream_id}-#{consumer_identifier}"
27
- end
23
+ stream_id = consumer_identifier
28
24
  end
29
25
 
30
26
  MessageStore::StreamName.stream_name(
@@ -12,32 +12,50 @@ module Consumer
12
12
  end
13
13
  end
14
14
 
15
- def starting
16
- unless batch_size.nil?
17
- logger.info(tag: :*) { "Batch Size: #{batch_size}" }
18
- end
19
-
20
- unless correlation.nil?
21
- logger.info(tag: :*) { "Correlation: #{correlation}" }
22
- end
15
+ def print_startup_info
16
+ STDOUT.puts " Correlation: #{correlation || '(none)'}"
23
17
 
24
18
  unless group_member.nil? && group_size.nil?
25
- logger.info(tag: :*) { "Group Member: #{group_member.inspect}, Group Size: #{group_size.inspect}" }
19
+ STDOUT.puts " Group Member: #{group_member.inspect}"
20
+ STDOUT.puts " Group Size: #{group_size.inspect}"
26
21
  end
27
22
 
28
23
  unless condition.nil?
29
- logger.info(tag: :*) { "Condition: #{condition}" }
24
+ STDOUT.puts " Condition: #{condition.inspect || '(none)'}"
30
25
  end
31
26
  end
32
27
 
33
- def configure(batch_size: nil, settings: nil, correlation: nil, group_member: nil, group_size: nil, condition: nil)
28
+ def log_startup_info
29
+ logger.info(tags: [:consumer, :start]) { "Correlation: #{correlation.inspect} (Consumer: #{self.class.name})" }
30
+ logger.info(tags: [:consumer, :start]) { "Batch Size: #{get.batch_size.inspect} (Consumer: #{self.class.name})" }
31
+ logger.info(tags: [:consumer, :start]) { "Group Member: #{group_member.inspect} (Consumer: #{self.class.name})" }
32
+ logger.info(tags: [:consumer, :start]) { "Group Size: #{group_size.inspect} (Consumer: #{self.class.name})" }
33
+ logger.info(tags: [:consumer, :start]) { "Condition: #{condition.inspect} (Consumer: #{self.class.name})" }
34
+ end
35
+
36
+ def starting
37
+ if identifier.nil? && !group_member.nil? && !group_size.nil?
38
+ raise Identifier::Error, 'Identifier must not be omitted when the consumer is a member of a group'
39
+ end
40
+ end
41
+
42
+ # TODO: Remove deprecated settings argument that has been replaced with session_settings when no longer in use (Nathan Ladd, Mon Nov 30 2020)
43
+ def configure(session_settings: nil, batch_size: nil, correlation: nil, group_member: nil, group_size: nil, condition: nil, settings: nil)
34
44
  self.batch_size = batch_size
35
45
  self.correlation = correlation
36
46
  self.group_member = group_member
37
47
  self.group_size = group_size
38
48
  self.condition = condition
39
49
 
40
- MessageStore::Postgres::Session.configure(self, settings: settings)
50
+ session_settings ||= settings
51
+
52
+ if not session_settings.nil?
53
+ if not session_settings.is_a?(::Settings)
54
+ session_settings = ::Settings.build(session_settings)
55
+ end
56
+ end
57
+
58
+ MessageStore::Postgres::Session.configure(self, settings: session_settings)
41
59
  session = self.session
42
60
 
43
61
  get_session = MessageStore::Postgres::Session.build(settings: settings)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-consumer-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.0
4
+ version: 2.3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-10 00:00:00.000000000 Z
11
+ date: 2021-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-consumer
@@ -70,6 +70,7 @@ files:
70
70
  - lib/consumer/postgres/controls/position/store/recorded.rb
71
71
  - lib/consumer/postgres/controls/position/stream/write.rb
72
72
  - lib/consumer/postgres/controls/stream_name.rb
73
+ - lib/consumer/postgres/identifier.rb
73
74
  - lib/consumer/postgres/position_store.rb
74
75
  - lib/consumer/postgres/position_store/recorded.rb
75
76
  - lib/consumer/postgres/position_store/stream_name.rb
@@ -78,7 +79,7 @@ homepage: https://github.com/eventide-project/consumer-postgres
78
79
  licenses:
79
80
  - MIT
80
81
  metadata: {}
81
- post_install_message:
82
+ post_install_message:
82
83
  rdoc_options: []
83
84
  require_paths:
84
85
  - lib
@@ -93,8 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
94
  - !ruby/object:Gem::Version
94
95
  version: '0'
95
96
  requirements: []
96
- rubygems_version: 3.0.1
97
- signing_key:
97
+ rubygems_version: 3.1.2
98
+ signing_key:
98
99
  specification_version: 4
99
100
  summary: Postgres implementation of continuous subscription to a category and message
100
101
  dispatching to handlers