event_store_client 1.4.9 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -145
  3. data/docs/appending_events.md +155 -0
  4. data/docs/catch_up_subscriptions.md +253 -0
  5. data/docs/configuration.md +83 -0
  6. data/docs/deleting_streams.md +25 -0
  7. data/docs/encrypting_events.md +84 -0
  8. data/docs/linking_events.md +149 -0
  9. data/docs/reading_events.md +200 -0
  10. data/lib/event_store_client/adapters/grpc/client.rb +244 -105
  11. data/lib/event_store_client/adapters/grpc/cluster/gossip_discover.rb +131 -0
  12. data/lib/event_store_client/adapters/grpc/cluster/insecure_connection.rb +21 -0
  13. data/lib/event_store_client/adapters/grpc/cluster/member.rb +18 -0
  14. data/lib/event_store_client/adapters/grpc/cluster/queryless_discover.rb +25 -0
  15. data/lib/event_store_client/adapters/grpc/cluster/secure_connection.rb +71 -0
  16. data/lib/event_store_client/adapters/grpc/command_registrar.rb +7 -7
  17. data/lib/event_store_client/adapters/grpc/commands/command.rb +63 -25
  18. data/lib/event_store_client/adapters/grpc/commands/gossip/cluster_info.rb +24 -0
  19. data/lib/event_store_client/adapters/grpc/commands/streams/append.rb +43 -68
  20. data/lib/event_store_client/adapters/grpc/commands/streams/append_multiple.rb +44 -0
  21. data/lib/event_store_client/adapters/grpc/commands/streams/delete.rb +21 -17
  22. data/lib/event_store_client/adapters/grpc/commands/streams/hard_delete.rb +39 -0
  23. data/lib/event_store_client/adapters/grpc/commands/streams/link_to.rb +7 -52
  24. data/lib/event_store_client/adapters/grpc/commands/streams/link_to_multiple.rb +44 -0
  25. data/lib/event_store_client/adapters/grpc/commands/streams/read.rb +20 -85
  26. data/lib/event_store_client/adapters/grpc/commands/streams/read_paginated.rb +174 -0
  27. data/lib/event_store_client/adapters/grpc/commands/streams/subscribe.rb +31 -106
  28. data/lib/event_store_client/adapters/grpc/connection.rb +56 -36
  29. data/lib/event_store_client/adapters/grpc/discover.rb +75 -0
  30. data/lib/event_store_client/adapters/grpc/generated/cluster_pb.rb +106 -18
  31. data/lib/event_store_client/adapters/grpc/generated/cluster_services_pb.rb +12 -12
  32. data/lib/event_store_client/adapters/grpc/generated/code_pb.rb +34 -0
  33. data/lib/event_store_client/adapters/grpc/generated/gossip_pb.rb +3 -2
  34. data/lib/event_store_client/adapters/grpc/generated/gossip_services_pb.rb +3 -3
  35. data/lib/event_store_client/adapters/grpc/generated/monitoring_pb.rb +25 -0
  36. data/lib/event_store_client/adapters/grpc/generated/monitoring_services_pb.rb +26 -0
  37. data/lib/event_store_client/adapters/grpc/generated/operations_pb.rb +2 -1
  38. data/lib/event_store_client/adapters/grpc/generated/operations_services_pb.rb +8 -7
  39. data/lib/event_store_client/adapters/grpc/generated/persistent_pb.rb +199 -38
  40. data/lib/event_store_client/adapters/grpc/generated/persistent_services_pb.rb +7 -3
  41. data/lib/event_store_client/adapters/grpc/generated/projections_pb.rb +9 -26
  42. data/lib/event_store_client/adapters/grpc/generated/projections_services_pb.rb +4 -3
  43. data/lib/event_store_client/adapters/grpc/generated/serverfeatures_pb.rb +29 -0
  44. data/lib/event_store_client/adapters/grpc/generated/serverfeatures_services_pb.rb +26 -0
  45. data/lib/event_store_client/adapters/grpc/generated/shared_pb.rb +54 -12
  46. data/lib/event_store_client/adapters/grpc/generated/status_pb.rb +23 -0
  47. data/lib/event_store_client/adapters/grpc/generated/streams_pb.rb +104 -64
  48. data/lib/event_store_client/adapters/grpc/generated/streams_services_pb.rb +3 -2
  49. data/lib/event_store_client/adapters/grpc/generated/users_services_pb.rb +2 -2
  50. data/lib/event_store_client/adapters/grpc/options/streams/read_options.rb +78 -0
  51. data/lib/event_store_client/adapters/grpc/options/streams/write_options.rb +39 -0
  52. data/lib/event_store_client/adapters/grpc/shared/event_deserializer.rb +52 -0
  53. data/lib/event_store_client/adapters/grpc/shared/options/filter_options.rb +76 -0
  54. data/lib/event_store_client/adapters/grpc/shared/options/stream_options.rb +91 -0
  55. data/lib/event_store_client/adapters/grpc/shared/streams/process_response.rb +28 -0
  56. data/lib/event_store_client/adapters/grpc/shared/streams/process_responses.rb +33 -0
  57. data/lib/event_store_client/adapters/grpc.rb +28 -12
  58. data/lib/event_store_client/configuration.rb +39 -54
  59. data/lib/event_store_client/connection/url.rb +57 -0
  60. data/lib/event_store_client/connection/url_parser.rb +144 -0
  61. data/lib/event_store_client/data_decryptor.rb +2 -9
  62. data/lib/event_store_client/deserialized_event.rb +35 -10
  63. data/lib/event_store_client/encryption_metadata.rb +0 -1
  64. data/lib/event_store_client/event.rb +4 -2
  65. data/lib/event_store_client/extensions/options_extension.rb +87 -0
  66. data/lib/event_store_client/mapper/default.rb +12 -9
  67. data/lib/event_store_client/mapper/encrypted.rb +18 -17
  68. data/lib/event_store_client/types.rb +1 -1
  69. data/lib/event_store_client/utils.rb +30 -0
  70. data/lib/event_store_client/version.rb +1 -1
  71. data/lib/event_store_client.rb +8 -7
  72. metadata +74 -83
  73. data/lib/event_store_client/adapters/grpc/Protos/cluster.proto +0 -149
  74. data/lib/event_store_client/adapters/grpc/Protos/gossip.proto +0 -44
  75. data/lib/event_store_client/adapters/grpc/Protos/operations.proto +0 -45
  76. data/lib/event_store_client/adapters/grpc/Protos/persistent.proto +0 -180
  77. data/lib/event_store_client/adapters/grpc/Protos/projections.proto +0 -174
  78. data/lib/event_store_client/adapters/grpc/Protos/shared.proto +0 -22
  79. data/lib/event_store_client/adapters/grpc/Protos/streams.proto +0 -242
  80. data/lib/event_store_client/adapters/grpc/Protos/users.proto +0 -119
  81. data/lib/event_store_client/adapters/grpc/README.md +0 -16
  82. data/lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/create.rb +0 -46
  83. data/lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/delete.rb +0 -34
  84. data/lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/read.rb +0 -77
  85. data/lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/settings_schema.rb +0 -38
  86. data/lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/update.rb +0 -48
  87. data/lib/event_store_client/adapters/grpc/commands/projections/create.rb +0 -48
  88. data/lib/event_store_client/adapters/grpc/commands/projections/delete.rb +0 -34
  89. data/lib/event_store_client/adapters/grpc/commands/projections/update.rb +0 -44
  90. data/lib/event_store_client/adapters/grpc/commands/streams/read_all.rb +0 -43
  91. data/lib/event_store_client/adapters/grpc/commands/streams/tombstone.rb +0 -35
  92. data/lib/event_store_client/adapters/http/README.md +0 -16
  93. data/lib/event_store_client/adapters/http/client.rb +0 -161
  94. data/lib/event_store_client/adapters/http/commands/command.rb +0 -27
  95. data/lib/event_store_client/adapters/http/commands/persistent_subscriptions/ack.rb +0 -15
  96. data/lib/event_store_client/adapters/http/commands/persistent_subscriptions/create.rb +0 -35
  97. data/lib/event_store_client/adapters/http/commands/persistent_subscriptions/read.rb +0 -60
  98. data/lib/event_store_client/adapters/http/commands/projections/create.rb +0 -33
  99. data/lib/event_store_client/adapters/http/commands/projections/update.rb +0 -31
  100. data/lib/event_store_client/adapters/http/commands/streams/append.rb +0 -49
  101. data/lib/event_store_client/adapters/http/commands/streams/delete.rb +0 -16
  102. data/lib/event_store_client/adapters/http/commands/streams/link_to.rb +0 -49
  103. data/lib/event_store_client/adapters/http/commands/streams/read.rb +0 -52
  104. data/lib/event_store_client/adapters/http/commands/streams/tombstone.rb +0 -17
  105. data/lib/event_store_client/adapters/http/connection.rb +0 -46
  106. data/lib/event_store_client/adapters/http/request_method.rb +0 -28
  107. data/lib/event_store_client/adapters/http.rb +0 -17
  108. data/lib/event_store_client/adapters/in_memory.rb +0 -144
  109. data/lib/event_store_client/broker.rb +0 -40
  110. data/lib/event_store_client/catch_up_subscription.rb +0 -42
  111. data/lib/event_store_client/catch_up_subscriptions.rb +0 -92
  112. data/lib/event_store_client/client.rb +0 -73
  113. data/lib/event_store_client/error_handler.rb +0 -10
  114. data/lib/event_store_client/subscription.rb +0 -23
  115. data/lib/event_store_client/subscriptions.rb +0 -38
  116. data/lib/event_store_client/value_objects/read_direction.rb +0 -43
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EventStoreClient
4
+ module Extensions
5
+ # A very simple extension that implements a DLS for adding attr_accessors with default values,
6
+ # and assigning their values during object initialization.
7
+ # Example. Let's say you frequently do something like this:
8
+ # ```ruby
9
+ # class SomeClass
10
+ # attr_accessor :attr1, :attr2, :attr3, :attr4
11
+ #
12
+ # def initialize(opts = {})
13
+ # @attr1 = opts[:attr1] || 'Attr 1 value'
14
+ # @attr2 = opts[:attr2] || 'Attr 2 value'
15
+ # @attr3 = opts[:attr3] || do_some_calc
16
+ # @attr4 = opts[:attr4]
17
+ # end
18
+ #
19
+ # def do_some_calc
20
+ # end
21
+ # end
22
+ #
23
+ # SomeClass.new(attr1: 'hihi', attr4: 'byebye')
24
+ # ```
25
+ #
26
+ # You can replace the code above using the OptionsExtension:
27
+ # ```ruby
28
+ # class SomeClass
29
+ # include EventStoreClient::Extensions::OptionsExtension
30
+ #
31
+ # option(:attr1) { 'Attr 1 value' }
32
+ # option(:attr2) { 'Attr 2 value' }
33
+ # option(:attr3) { do_some_calc }
34
+ # option(:attr4)
35
+ # end
36
+ #
37
+ # SomeClass.new(attr1: 'hihi', attr4: 'byebye')
38
+ # ```
39
+ module OptionsExtension
40
+ module ClassMethods
41
+ # @param opt_name [Symbol] option name
42
+ # @param blk [Proc] provide define value using block. It will be later evaluated in the
43
+ # context of your object to determine the default value of the option
44
+ # @return [Symbol]
45
+ def option(opt_name, &blk)
46
+ self.options = (options + Set.new([opt_name])).freeze
47
+ attr_writer opt_name
48
+
49
+ define_method opt_name do
50
+ result = instance_variable_get(:"@#{opt_name}")
51
+ return result if instance_variable_defined?(:"@#{opt_name}")
52
+
53
+ instance_exec(&blk) if blk
54
+ end
55
+ end
56
+
57
+ def inherited(klass)
58
+ super
59
+ klass.options = Set.new(options).freeze
60
+ end
61
+ end
62
+
63
+ def self.included(klass)
64
+ klass.singleton_class.attr_accessor(:options)
65
+ klass.options = Set.new.freeze
66
+ klass.extend(ClassMethods)
67
+ end
68
+
69
+ def initialize(**options)
70
+ self.class.options.each do |option|
71
+ # init default values of options
72
+ value = options.key?(option) ? options[option] : public_send(option)
73
+ public_send("#{option}=", value)
74
+ end
75
+ end
76
+
77
+ # Construct a hash from options, where key is the option's name and the value is option's
78
+ # value
79
+ # @return [Hash]
80
+ def options_hash
81
+ self.class.options.each_with_object({}) do |option, res|
82
+ res[option] = public_send(option)
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -3,6 +3,13 @@
3
3
  module EventStoreClient
4
4
  module Mapper
5
5
  class Default
6
+ attr_reader :serializer
7
+ private :serializer
8
+
9
+ def initialize(serializer: Serializer::Json)
10
+ @serializer = serializer
11
+ end
12
+
6
13
  def serialize(event)
7
14
  Event.new(
8
15
  id: event.respond_to?(:id) ? event.id : nil,
@@ -28,17 +35,13 @@ module EventStoreClient
28
35
  type: event.type,
29
36
  title: event.title,
30
37
  data: data,
31
- metadata: metadata
38
+ metadata: metadata,
39
+ stream_revision: event.stream_revision,
40
+ commit_position: event.commit_position,
41
+ prepare_position: event.prepare_position,
42
+ stream_name: event.stream_name
32
43
  )
33
44
  end
34
-
35
- private
36
-
37
- attr_reader :serializer
38
-
39
- def initialize(serializer: Serializer::Json)
40
- @serializer = serializer
41
- end
42
45
  end
43
46
  end
44
47
  end
@@ -9,10 +9,21 @@ module EventStoreClient
9
9
  ##
10
10
  # Transforms given event's data and encrypts/decrypts selected subset of data
11
11
  # based on encryption schema stored in the event itself.
12
-
13
12
  class Encrypted
14
13
  MissingEncryptionKey = Class.new(StandardError)
15
14
 
15
+ attr_reader :key_repository, :serializer
16
+ private :key_repository, :serializer
17
+
18
+ ##
19
+ # Initializes the mapper with required dependencies. Accepts:
20
+ # * +key_repoistory+ - repository stored encryption keys. Passed down to the +DataEncryptor+
21
+ # * +serializer+ - object used to serialize data. By default JSON serializer is used.
22
+ def initialize(key_repository, serializer: Serializer::Json)
23
+ @key_repository = key_repository
24
+ @serializer = serializer
25
+ end
26
+
16
27
  ##
17
28
  # Encrypts the given event's subset of data.
18
29
  # Accepts specific event class instance with:
@@ -20,7 +31,6 @@ module EventStoreClient
20
31
  # * encryption_schema - hash with information which data to encrypt and
21
32
  # which key should be used as an identifier.
22
33
  # *Returns*: General +Event+ instance with encrypted data
23
-
24
34
  def serialize(event)
25
35
  encryption_schema = (
26
36
  event.class.respond_to?(:encryption_schema) &&
@@ -33,6 +43,7 @@ module EventStoreClient
33
43
  )
34
44
  encryptor.call
35
45
  EventStoreClient::Event.new(
46
+ id: event.respond_to?(:id) ? event.id : nil,
36
47
  data: serializer.serialize(encryptor.encrypted_data),
37
48
  metadata: serializer.serialize(
38
49
  event.metadata.merge(encryption: encryptor.encryption_metadata)
@@ -48,7 +59,6 @@ module EventStoreClient
48
59
  # * encryption_metadata - hash with information which data to encrypt and
49
60
  # which key should be used as an identifier.
50
61
  # *Returns*: Specific event class with all data decrypted
51
-
52
62
  def deserialize(event, skip_decryption: false)
53
63
  metadata = serializer.deserialize(event.metadata)
54
64
  encryption_schema = metadata['encryption']
@@ -77,22 +87,13 @@ module EventStoreClient
77
87
  type: event.type,
78
88
  title: event.title,
79
89
  data: decrypted_data,
80
- metadata: metadata
90
+ metadata: metadata,
91
+ stream_revision: event.stream_revision,
92
+ commit_position: event.commit_position,
93
+ prepare_position: event.prepare_position,
94
+ stream_name: event.stream_name
81
95
  )
82
96
  end
83
-
84
- private
85
-
86
- attr_reader :key_repository, :serializer
87
-
88
- ##
89
- # Initializes the mapper with required dependencies. Accepts:
90
- # * +key_repoistory+ - repository stored encryption keys. Passed down to the +DataEncryptor+
91
- # * +serializer+ - object used to serialize data. By default JSON serializer is used.
92
- def initialize(key_repository, serializer: Serializer::Json)
93
- @key_repository = key_repository
94
- @serializer = serializer
95
- end
96
97
  end
97
98
  end
98
99
  end
@@ -6,7 +6,7 @@ module EventStoreClient
6
6
  module Types
7
7
  UUID_REGEXP =
8
8
  /\A[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}\z/i.
9
- freeze
9
+ freeze
10
10
 
11
11
  include Dry.Types()
12
12
 
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Metrics/AbcSize
4
+
5
+ module EventStoreClient
6
+ class Utils
7
+ class << self
8
+ # @param uuid [EventStore::Client::UUID]
9
+ # @return [String]
10
+ def uuid_to_str(uuid)
11
+ return uuid.string unless uuid.string.empty?
12
+
13
+ msb =
14
+ if uuid.structured.most_significant_bits.negative?
15
+ (2**64) + uuid.structured.most_significant_bits
16
+ else
17
+ uuid.structured.most_significant_bits
18
+ end
19
+ lsb =
20
+ if uuid.structured.least_significant_bits.negative?
21
+ (2**64) + uuid.structured.least_significant_bits
22
+ else
23
+ uuid.structured.least_significant_bits
24
+ end
25
+ (msb.to_s(16) + lsb.to_s(16)).unpack('A8A4A4A4A12').join('-')
26
+ end
27
+ end
28
+ end
29
+ end
30
+ # rubocop:enable Metrics/AbcSize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EventStoreClient
4
- VERSION = '1.4.9'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -9,13 +9,14 @@ require 'event_store_client/serializer/json'
9
9
 
10
10
  require 'event_store_client/mapper'
11
11
 
12
- require 'event_store_client/configuration'
12
+ require 'event_store_client/extensions/options_extension'
13
+
14
+ require 'event_store_client/utils'
15
+
16
+ require 'event_store_client/connection/url'
17
+ require 'event_store_client/connection/url_parser'
13
18
  require 'event_store_client/event'
14
19
  require 'event_store_client/deserialized_event'
20
+ require 'event_store_client/configuration'
15
21
 
16
- require 'event_store_client/subscription'
17
- require 'event_store_client/subscriptions'
18
- require 'event_store_client/catch_up_subscription'
19
- require 'event_store_client/catch_up_subscriptions'
20
- require 'event_store_client/broker'
21
- require 'event_store_client/client'
22
+ require 'event_store_client/adapters/grpc'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_store_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Wilgosz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-28 00:00:00.000000000 Z
11
+ date: 2022-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.11'
19
+ version: '0.13'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.11'
26
+ version: '0.13'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dry-monads
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1'
69
69
  - !ruby/object:Gem::Dependency
70
- name: faraday
70
+ name: grpc
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
@@ -81,103 +81,103 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: grpc
84
+ name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.0'
90
- type: :runtime
89
+ version: '0.14'
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.0'
96
+ version: '0.14'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rss
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.2.8
104
- type: :runtime
103
+ version: '3.11'
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.2.8
110
+ version: '3.11'
111
111
  - !ruby/object:Gem::Dependency
112
- name: pry
112
+ name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.14'
117
+ version: '0.21'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.14'
124
+ version: '0.21'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rspec
126
+ name: simplecov-formatter-badge
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: '0.1'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: '0.1'
139
139
  - !ruby/object:Gem::Dependency
140
- name: simplecov
140
+ name: rake
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.21'
145
+ version: '13.0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.21'
152
+ version: '13.0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: simplecov-formatter-badge
154
+ name: grpc-tools
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0.1'
159
+ version: '1.46'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0.1'
166
+ version: '1.46'
167
167
  - !ruby/object:Gem::Dependency
168
- name: webmock
168
+ name: timecop
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 0.9.5
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 0.9.5
181
181
  description: Easy to use client for event-sources applications written in ruby
182
182
  email:
183
183
  - sebastian@driggl.com
@@ -188,94 +188,85 @@ files:
188
188
  - MIT-LICENSE
189
189
  - README.md
190
190
  - Rakefile
191
+ - docs/appending_events.md
192
+ - docs/catch_up_subscriptions.md
193
+ - docs/configuration.md
194
+ - docs/deleting_streams.md
195
+ - docs/encrypting_events.md
196
+ - docs/linking_events.md
197
+ - docs/reading_events.md
191
198
  - lib/event_store_client.rb
192
199
  - lib/event_store_client/adapters/grpc.rb
193
- - lib/event_store_client/adapters/grpc/Protos/cluster.proto
194
- - lib/event_store_client/adapters/grpc/Protos/gossip.proto
195
- - lib/event_store_client/adapters/grpc/Protos/operations.proto
196
- - lib/event_store_client/adapters/grpc/Protos/persistent.proto
197
- - lib/event_store_client/adapters/grpc/Protos/projections.proto
198
- - lib/event_store_client/adapters/grpc/Protos/shared.proto
199
- - lib/event_store_client/adapters/grpc/Protos/streams.proto
200
- - lib/event_store_client/adapters/grpc/Protos/users.proto
201
- - lib/event_store_client/adapters/grpc/README.md
202
200
  - lib/event_store_client/adapters/grpc/client.rb
201
+ - lib/event_store_client/adapters/grpc/cluster/gossip_discover.rb
202
+ - lib/event_store_client/adapters/grpc/cluster/insecure_connection.rb
203
+ - lib/event_store_client/adapters/grpc/cluster/member.rb
204
+ - lib/event_store_client/adapters/grpc/cluster/queryless_discover.rb
205
+ - lib/event_store_client/adapters/grpc/cluster/secure_connection.rb
203
206
  - lib/event_store_client/adapters/grpc/command_registrar.rb
204
207
  - lib/event_store_client/adapters/grpc/commands/command.rb
205
- - lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/create.rb
206
- - lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/delete.rb
207
- - lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/read.rb
208
- - lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/settings_schema.rb
209
- - lib/event_store_client/adapters/grpc/commands/persistent_subscriptions/update.rb
210
- - lib/event_store_client/adapters/grpc/commands/projections/create.rb
211
- - lib/event_store_client/adapters/grpc/commands/projections/delete.rb
212
- - lib/event_store_client/adapters/grpc/commands/projections/update.rb
208
+ - lib/event_store_client/adapters/grpc/commands/gossip/cluster_info.rb
213
209
  - lib/event_store_client/adapters/grpc/commands/streams/append.rb
210
+ - lib/event_store_client/adapters/grpc/commands/streams/append_multiple.rb
214
211
  - lib/event_store_client/adapters/grpc/commands/streams/delete.rb
212
+ - lib/event_store_client/adapters/grpc/commands/streams/hard_delete.rb
215
213
  - lib/event_store_client/adapters/grpc/commands/streams/link_to.rb
214
+ - lib/event_store_client/adapters/grpc/commands/streams/link_to_multiple.rb
216
215
  - lib/event_store_client/adapters/grpc/commands/streams/read.rb
217
- - lib/event_store_client/adapters/grpc/commands/streams/read_all.rb
216
+ - lib/event_store_client/adapters/grpc/commands/streams/read_paginated.rb
218
217
  - lib/event_store_client/adapters/grpc/commands/streams/subscribe.rb
219
- - lib/event_store_client/adapters/grpc/commands/streams/tombstone.rb
220
218
  - lib/event_store_client/adapters/grpc/connection.rb
219
+ - lib/event_store_client/adapters/grpc/discover.rb
221
220
  - lib/event_store_client/adapters/grpc/generated/cluster_pb.rb
222
221
  - lib/event_store_client/adapters/grpc/generated/cluster_services_pb.rb
222
+ - lib/event_store_client/adapters/grpc/generated/code_pb.rb
223
223
  - lib/event_store_client/adapters/grpc/generated/gossip_pb.rb
224
224
  - lib/event_store_client/adapters/grpc/generated/gossip_services_pb.rb
225
+ - lib/event_store_client/adapters/grpc/generated/monitoring_pb.rb
226
+ - lib/event_store_client/adapters/grpc/generated/monitoring_services_pb.rb
225
227
  - lib/event_store_client/adapters/grpc/generated/operations_pb.rb
226
228
  - lib/event_store_client/adapters/grpc/generated/operations_services_pb.rb
227
229
  - lib/event_store_client/adapters/grpc/generated/persistent_pb.rb
228
230
  - lib/event_store_client/adapters/grpc/generated/persistent_services_pb.rb
229
231
  - lib/event_store_client/adapters/grpc/generated/projections_pb.rb
230
232
  - lib/event_store_client/adapters/grpc/generated/projections_services_pb.rb
233
+ - lib/event_store_client/adapters/grpc/generated/serverfeatures_pb.rb
234
+ - lib/event_store_client/adapters/grpc/generated/serverfeatures_services_pb.rb
231
235
  - lib/event_store_client/adapters/grpc/generated/shared_pb.rb
236
+ - lib/event_store_client/adapters/grpc/generated/status_pb.rb
232
237
  - lib/event_store_client/adapters/grpc/generated/streams_pb.rb
233
238
  - lib/event_store_client/adapters/grpc/generated/streams_services_pb.rb
234
239
  - lib/event_store_client/adapters/grpc/generated/users_pb.rb
235
240
  - lib/event_store_client/adapters/grpc/generated/users_services_pb.rb
236
- - lib/event_store_client/adapters/http.rb
237
- - lib/event_store_client/adapters/http/README.md
238
- - lib/event_store_client/adapters/http/client.rb
239
- - lib/event_store_client/adapters/http/commands/command.rb
240
- - lib/event_store_client/adapters/http/commands/persistent_subscriptions/ack.rb
241
- - lib/event_store_client/adapters/http/commands/persistent_subscriptions/create.rb
242
- - lib/event_store_client/adapters/http/commands/persistent_subscriptions/read.rb
243
- - lib/event_store_client/adapters/http/commands/projections/create.rb
244
- - lib/event_store_client/adapters/http/commands/projections/update.rb
245
- - lib/event_store_client/adapters/http/commands/streams/append.rb
246
- - lib/event_store_client/adapters/http/commands/streams/delete.rb
247
- - lib/event_store_client/adapters/http/commands/streams/link_to.rb
248
- - lib/event_store_client/adapters/http/commands/streams/read.rb
249
- - lib/event_store_client/adapters/http/commands/streams/tombstone.rb
250
- - lib/event_store_client/adapters/http/connection.rb
251
- - lib/event_store_client/adapters/http/request_method.rb
252
- - lib/event_store_client/adapters/in_memory.rb
253
- - lib/event_store_client/broker.rb
254
- - lib/event_store_client/catch_up_subscription.rb
255
- - lib/event_store_client/catch_up_subscriptions.rb
256
- - lib/event_store_client/client.rb
241
+ - lib/event_store_client/adapters/grpc/options/streams/read_options.rb
242
+ - lib/event_store_client/adapters/grpc/options/streams/write_options.rb
243
+ - lib/event_store_client/adapters/grpc/shared/event_deserializer.rb
244
+ - lib/event_store_client/adapters/grpc/shared/options/filter_options.rb
245
+ - lib/event_store_client/adapters/grpc/shared/options/stream_options.rb
246
+ - lib/event_store_client/adapters/grpc/shared/streams/process_response.rb
247
+ - lib/event_store_client/adapters/grpc/shared/streams/process_responses.rb
257
248
  - lib/event_store_client/configuration.rb
249
+ - lib/event_store_client/connection/url.rb
250
+ - lib/event_store_client/connection/url_parser.rb
258
251
  - lib/event_store_client/data_decryptor.rb
259
252
  - lib/event_store_client/data_encryptor.rb
260
253
  - lib/event_store_client/deserialized_event.rb
261
254
  - lib/event_store_client/encryption_metadata.rb
262
- - lib/event_store_client/error_handler.rb
263
255
  - lib/event_store_client/event.rb
256
+ - lib/event_store_client/extensions/options_extension.rb
264
257
  - lib/event_store_client/mapper.rb
265
258
  - lib/event_store_client/mapper/default.rb
266
259
  - lib/event_store_client/mapper/encrypted.rb
267
260
  - lib/event_store_client/serializer/json.rb
268
- - lib/event_store_client/subscription.rb
269
- - lib/event_store_client/subscriptions.rb
270
261
  - lib/event_store_client/types.rb
271
- - lib/event_store_client/value_objects/read_direction.rb
262
+ - lib/event_store_client/utils.rb
272
263
  - lib/event_store_client/version.rb
273
264
  homepage: https://github.com/yousty/event_store_client
274
265
  licenses:
275
266
  - MIT
276
267
  metadata:
277
268
  allowed_push_host: https://rubygems.org
278
- post_install_message:
269
+ post_install_message:
279
270
  rdoc_options: []
280
271
  require_paths:
281
272
  - lib
@@ -291,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
282
  version: '0'
292
283
  requirements: []
293
284
  rubygems_version: 3.1.6
294
- signing_key:
285
+ signing_key:
295
286
  specification_version: 4
296
287
  summary: Ruby integration for https://eventstore.org
297
288
  test_files: []