pg_eventstore 1.1.3 → 1.1.4

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.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/README.md +4 -3
  4. data/lib/pg_eventstore/abstract_command.rb +2 -0
  5. data/lib/pg_eventstore/callbacks.rb +3 -0
  6. data/lib/pg_eventstore/client.rb +6 -1
  7. data/lib/pg_eventstore/config.rb +1 -1
  8. data/lib/pg_eventstore/connection.rb +9 -1
  9. data/lib/pg_eventstore/errors.rb +45 -26
  10. data/lib/pg_eventstore/event.rb +2 -1
  11. data/lib/pg_eventstore/event_class_resolver.rb +1 -1
  12. data/lib/pg_eventstore/event_deserializer.rb +8 -2
  13. data/lib/pg_eventstore/event_serializer.rb +2 -0
  14. data/lib/pg_eventstore/extensions/callbacks_extension.rb +1 -0
  15. data/lib/pg_eventstore/extensions/options_extension.rb +3 -1
  16. data/lib/pg_eventstore/queries/event_queries.rb +12 -4
  17. data/lib/pg_eventstore/queries/links_resolver.rb +3 -0
  18. data/lib/pg_eventstore/queries/partition_queries.rb +6 -0
  19. data/lib/pg_eventstore/queries/transaction_queries.rb +4 -0
  20. data/lib/pg_eventstore/queries.rb +1 -1
  21. data/lib/pg_eventstore/query_builders/{events_filtering_query.rb → events_filtering.rb} +3 -0
  22. data/lib/pg_eventstore/sql_builder.rb +18 -10
  23. data/lib/pg_eventstore/stream.rb +13 -2
  24. data/lib/pg_eventstore/subscriptions/basic_runner.rb +2 -0
  25. data/lib/pg_eventstore/subscriptions/commands_handler.rb +5 -3
  26. data/lib/pg_eventstore/subscriptions/queries/subscription_command_queries.rb +6 -4
  27. data/lib/pg_eventstore/subscriptions/queries/subscription_queries.rb +4 -2
  28. data/lib/pg_eventstore/subscriptions/queries/subscriptions_set_command_queries.rb +6 -4
  29. data/lib/pg_eventstore/subscriptions/queries/subscriptions_set_queries.rb +3 -0
  30. data/lib/pg_eventstore/subscriptions/runner_state.rb +1 -0
  31. data/lib/pg_eventstore/subscriptions/subscription.rb +19 -17
  32. data/lib/pg_eventstore/subscriptions/subscription_feeder.rb +4 -0
  33. data/lib/pg_eventstore/subscriptions/subscription_feeder_commands/base.rb +4 -4
  34. data/lib/pg_eventstore/subscriptions/subscription_handler_performance.rb +2 -1
  35. data/lib/pg_eventstore/subscriptions/subscription_runner.rb +5 -0
  36. data/lib/pg_eventstore/subscriptions/subscription_runner_commands/base.rb +4 -4
  37. data/lib/pg_eventstore/subscriptions/subscriptions_manager.rb +6 -4
  38. data/lib/pg_eventstore/subscriptions/subscriptions_set.rb +10 -10
  39. data/lib/pg_eventstore/version.rb +2 -1
  40. data/lib/pg_eventstore/web/application.rb +6 -6
  41. data/lib/pg_eventstore/web/paginator/base_collection.rb +15 -1
  42. data/lib/pg_eventstore/web/paginator/event_types_collection.rb +2 -1
  43. data/lib/pg_eventstore/web/paginator/events_collection.rb +7 -4
  44. data/lib/pg_eventstore/web/paginator/helpers.rb +3 -3
  45. data/lib/pg_eventstore/web/paginator/stream_contexts_collection.rb +2 -1
  46. data/lib/pg_eventstore/web/paginator/stream_ids_collection.rb +2 -1
  47. data/lib/pg_eventstore/web/paginator/stream_names_collection.rb +2 -1
  48. data/lib/pg_eventstore/web/subscriptions/set_collection.rb +2 -0
  49. data/lib/pg_eventstore/web/subscriptions/subscriptions.rb +2 -0
  50. data/lib/pg_eventstore/web/subscriptions/subscriptions_set.rb +2 -0
  51. data/lib/pg_eventstore/web/subscriptions/subscriptions_to_set_association.rb +6 -1
  52. data/lib/pg_eventstore.rb +6 -1
  53. data/rbs_collection.lock.yaml +16 -0
  54. data/rbs_collection.yaml +23 -0
  55. data/sig/interfaces/callback.rbs +3 -0
  56. data/sig/interfaces/event_class_resolver.rbs +3 -0
  57. data/sig/interfaces/event_modifier.rbs +3 -0
  58. data/sig/interfaces/restart_terminator.rbs +3 -0
  59. data/sig/interfaces/subscription_handler.rbs +3 -0
  60. data/sig/pg/basic_type_registry.rbs +21 -0
  61. data/sig/pg/connection.rbs +407 -0
  62. data/sig/pg/constants.rbs +153 -0
  63. data/sig/pg_eventstore/abstract_command.rbs +11 -0
  64. data/sig/pg_eventstore/callbacks.rbs +21 -0
  65. data/sig/pg_eventstore/client.rbs +67 -0
  66. data/sig/pg_eventstore/commands/append.rbs +33 -0
  67. data/sig/pg_eventstore/commands/event_modifiers/prepare_link_event.rbs +24 -0
  68. data/sig/pg_eventstore/commands/event_modifiers/prepare_regular_event.rbs +12 -0
  69. data/sig/pg_eventstore/commands/link_to.rbs +17 -0
  70. data/sig/pg_eventstore/commands/multiple.rbs +7 -0
  71. data/sig/pg_eventstore/commands/read.rbs +10 -0
  72. data/sig/pg_eventstore/commands/regular_stream_read_paginated.rbs +32 -0
  73. data/sig/pg_eventstore/commands/system_stream_read_paginated.rbs +30 -0
  74. data/sig/pg_eventstore/config.rbs +51 -0
  75. data/sig/pg_eventstore/connection.rbs +30 -0
  76. data/sig/pg_eventstore/errors.rbs +116 -0
  77. data/sig/pg_eventstore/event.rbs +46 -0
  78. data/sig/pg_eventstore/event_class_resolver.rbs +6 -0
  79. data/sig/pg_eventstore/event_deserializer.rbs +20 -0
  80. data/sig/pg_eventstore/event_serializer.rbs +13 -0
  81. data/sig/pg_eventstore/extensions/callbacks_extension.rbs +23 -0
  82. data/sig/pg_eventstore/extensions/options_extension.rbs +37 -0
  83. data/sig/pg_eventstore/extensions/using_connection_extension.rbs +14 -0
  84. data/sig/pg_eventstore/middleware.rbs +9 -0
  85. data/sig/pg_eventstore/pg_connection.rbs +13 -0
  86. data/sig/pg_eventstore/queries/event_queries.rbs +50 -0
  87. data/sig/pg_eventstore/queries/links_resolver.rbs +19 -0
  88. data/sig/pg_eventstore/queries/partition_queries.rbs +74 -0
  89. data/sig/pg_eventstore/queries/transaction_queries.rbs +21 -0
  90. data/sig/pg_eventstore/queries.rbs +23 -0
  91. data/sig/pg_eventstore/query_builders/events_filtering_query.rbs +62 -0
  92. data/sig/pg_eventstore/sql_builder.rbs +74 -0
  93. data/sig/pg_eventstore/stream.rbs +40 -0
  94. data/sig/pg_eventstore/subscriptions/basic_runner.rbs +37 -0
  95. data/sig/pg_eventstore/subscriptions/command_handlers/subscription_feeder_commands.rbs +16 -0
  96. data/sig/pg_eventstore/subscriptions/command_handlers/subscription_runners_commands.rbs +18 -0
  97. data/sig/pg_eventstore/subscriptions/commands_handler.rbs +25 -0
  98. data/sig/pg_eventstore/subscriptions/events_processor.rbs +34 -0
  99. data/sig/pg_eventstore/subscriptions/extensions/base_command_extension.rbs +20 -0
  100. data/sig/pg_eventstore/subscriptions/extensions/command_class_lookup_extension.rbs +8 -0
  101. data/sig/pg_eventstore/subscriptions/queries/subscription_command_queries.rbs +56 -0
  102. data/sig/pg_eventstore/subscriptions/queries/subscription_queries.rbs +73 -0
  103. data/sig/pg_eventstore/subscriptions/queries/subscriptions_set_command_queries.rbs +39 -0
  104. data/sig/pg_eventstore/subscriptions/queries/subscriptions_set_queries.rbs +36 -0
  105. data/sig/pg_eventstore/subscriptions/runner_state.rbs +16 -0
  106. data/sig/pg_eventstore/subscriptions/subscription.rbs +96 -0
  107. data/sig/pg_eventstore/subscriptions/subscription_feeder.rbs +64 -0
  108. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands/base.rbs +45 -0
  109. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands/restore.rbs +8 -0
  110. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands/start_all.rbs +8 -0
  111. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands/stop.rbs +8 -0
  112. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands/stop_all.rbs +8 -0
  113. data/sig/pg_eventstore/subscriptions/subscription_feeder_commands.rbs +8 -0
  114. data/sig/pg_eventstore/subscriptions/subscription_handler_performance.rbs +12 -0
  115. data/sig/pg_eventstore/subscriptions/subscription_runner.rbs +55 -0
  116. data/sig/pg_eventstore/subscriptions/subscription_runner_commands/base.rbs +47 -0
  117. data/sig/pg_eventstore/subscriptions/subscription_runner_commands/reset_position.rbs +11 -0
  118. data/sig/pg_eventstore/subscriptions/subscription_runner_commands/restore.rbs +8 -0
  119. data/sig/pg_eventstore/subscriptions/subscription_runner_commands/start.rbs +8 -0
  120. data/sig/pg_eventstore/subscriptions/subscription_runner_commands/stop.rbs +8 -0
  121. data/sig/pg_eventstore/subscriptions/subscription_runner_commands.rbs +8 -0
  122. data/sig/pg_eventstore/subscriptions/subscription_runners_feeder.rbs +13 -0
  123. data/sig/pg_eventstore/subscriptions/subscriptions_manager.rbs +60 -0
  124. data/sig/pg_eventstore/subscriptions/subscriptions_set.rbs +72 -0
  125. data/sig/pg_eventstore/utils.rbs +20 -0
  126. data/sig/pg_eventstore/version.rbs +3 -0
  127. data/sig/pg_eventstore/web/paginator/base_collection.rbs +51 -0
  128. data/sig/pg_eventstore/web/paginator/event_types_collection.rbs +15 -0
  129. data/sig/pg_eventstore/web/paginator/events_collection.rbs +31 -0
  130. data/sig/pg_eventstore/web/paginator/helpers.rbs +38 -0
  131. data/sig/pg_eventstore/web/paginator/stream_contexts_collection.rbs +15 -0
  132. data/sig/pg_eventstore/web/paginator/stream_ids_collection.rbs +15 -0
  133. data/sig/pg_eventstore/web/paginator/stream_names_collection.rbs +15 -0
  134. data/sig/pg_eventstore/web/subscriptions/helpers.rbs +48 -0
  135. data/sig/pg_eventstore/web/subscriptions/set_collection.rbs +18 -0
  136. data/sig/pg_eventstore/web/subscriptions/subscriptions.rbs +18 -0
  137. data/sig/pg_eventstore/web/subscriptions/subscriptions_set.rbs +18 -0
  138. data/sig/pg_eventstore/web/subscriptions/subscriptions_to_set_association.rbs +18 -0
  139. data/sig/pg_eventstore.rbs +42 -0
  140. metadata +90 -3
@@ -0,0 +1,153 @@
1
+ module PG
2
+ module Constants
3
+ CONNECTION_AUTH_OK: ::Integer
4
+
5
+ CONNECTION_AWAITING_RESPONSE: ::Integer
6
+
7
+ CONNECTION_BAD: ::Integer
8
+
9
+ CONNECTION_CHECK_STANDBY: ::Integer
10
+
11
+ CONNECTION_CHECK_TARGET: ::Integer
12
+
13
+ CONNECTION_CHECK_WRITABLE: ::Integer
14
+
15
+ CONNECTION_CONSUME: ::Integer
16
+
17
+ CONNECTION_GSS_STARTUP: ::Integer
18
+
19
+ CONNECTION_MADE: ::Integer
20
+
21
+ CONNECTION_NEEDED: ::Integer
22
+
23
+ CONNECTION_OK: ::Integer
24
+
25
+ CONNECTION_SETENV: ::Integer
26
+
27
+ CONNECTION_SSL_STARTUP: ::Integer
28
+
29
+ CONNECTION_STARTED: ::Integer
30
+
31
+ DEF_PGPORT: ::Integer
32
+
33
+ INVALID_OID: ::Integer
34
+
35
+ INV_READ: ::Integer
36
+
37
+ INV_WRITE: ::Integer
38
+
39
+ InvalidOid: ::Integer
40
+
41
+ PGRES_BAD_RESPONSE: ::Integer
42
+
43
+ PGRES_COMMAND_OK: ::Integer
44
+
45
+ PGRES_COPY_BOTH: ::Integer
46
+
47
+ PGRES_COPY_IN: ::Integer
48
+
49
+ PGRES_COPY_OUT: ::Integer
50
+
51
+ PGRES_EMPTY_QUERY: ::Integer
52
+
53
+ PGRES_FATAL_ERROR: ::Integer
54
+
55
+ PGRES_NONFATAL_ERROR: ::Integer
56
+
57
+ PGRES_PIPELINE_ABORTED: ::Integer
58
+
59
+ PGRES_PIPELINE_SYNC: ::Integer
60
+
61
+ PGRES_POLLING_FAILED: ::Integer
62
+
63
+ PGRES_POLLING_OK: ::Integer
64
+
65
+ PGRES_POLLING_READING: ::Integer
66
+
67
+ PGRES_POLLING_WRITING: ::Integer
68
+
69
+ PGRES_SINGLE_TUPLE: ::Integer
70
+
71
+ PGRES_TUPLES_OK: ::Integer
72
+
73
+ PG_DIAG_COLUMN_NAME: ::Integer
74
+
75
+ PG_DIAG_CONSTRAINT_NAME: ::Integer
76
+
77
+ PG_DIAG_CONTEXT: ::Integer
78
+
79
+ PG_DIAG_DATATYPE_NAME: ::Integer
80
+
81
+ PG_DIAG_INTERNAL_POSITION: ::Integer
82
+
83
+ PG_DIAG_INTERNAL_QUERY: ::Integer
84
+
85
+ PG_DIAG_MESSAGE_DETAIL: ::Integer
86
+
87
+ PG_DIAG_MESSAGE_HINT: ::Integer
88
+
89
+ PG_DIAG_MESSAGE_PRIMARY: ::Integer
90
+
91
+ PG_DIAG_SCHEMA_NAME: ::Integer
92
+
93
+ PG_DIAG_SEVERITY: ::Integer
94
+
95
+ PG_DIAG_SEVERITY_NONLOCALIZED: ::Integer
96
+
97
+ PG_DIAG_SOURCE_FILE: ::Integer
98
+
99
+ PG_DIAG_SOURCE_FUNCTION: ::Integer
100
+
101
+ PG_DIAG_SOURCE_LINE: ::Integer
102
+
103
+ PG_DIAG_SQLSTATE: ::Integer
104
+
105
+ PG_DIAG_STATEMENT_POSITION: ::Integer
106
+
107
+ PG_DIAG_TABLE_NAME: ::Integer
108
+
109
+ PQERRORS_DEFAULT: ::Integer
110
+
111
+ PQERRORS_SQLSTATE: ::Integer
112
+
113
+ PQERRORS_TERSE: ::Integer
114
+
115
+ PQERRORS_VERBOSE: ::Integer
116
+
117
+ PQPING_NO_ATTEMPT: ::Integer
118
+
119
+ PQPING_NO_RESPONSE: ::Integer
120
+
121
+ PQPING_OK: ::Integer
122
+
123
+ PQPING_REJECT: ::Integer
124
+
125
+ PQSHOW_CONTEXT_ALWAYS: ::Integer
126
+
127
+ PQSHOW_CONTEXT_ERRORS: ::Integer
128
+
129
+ PQSHOW_CONTEXT_NEVER: ::Integer
130
+
131
+ PQTRANS_ACTIVE: ::Integer
132
+
133
+ PQTRANS_IDLE: ::Integer
134
+
135
+ PQTRANS_INERROR: ::Integer
136
+
137
+ PQTRANS_INTRANS: ::Integer
138
+
139
+ PQTRANS_UNKNOWN: ::Integer
140
+
141
+ PQ_PIPELINE_ABORTED: ::Integer
142
+
143
+ PQ_PIPELINE_OFF: ::Integer
144
+
145
+ PQ_PIPELINE_ON: ::Integer
146
+
147
+ SEEK_CUR: ::Integer
148
+
149
+ SEEK_END: ::Integer
150
+
151
+ SEEK_SET: ::Integer
152
+ end
153
+ end
@@ -0,0 +1,11 @@
1
+ module PgEventstore
2
+ class AbstractCommand
3
+ # _@param_ `queries`
4
+ def initialize: (PgEventstore::Queries queries) -> void
5
+
6
+ def call: () -> untyped
7
+
8
+ # Returns the value of attribute queries.
9
+ attr_accessor queries: PgEventstore::Queries
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module PgEventstore
2
+ class Callbacks
3
+ def initialize: () -> void
4
+
5
+ # _@param_ `action` — an object, that represents your action. In most cases you want to use a symbol there
6
+ #
7
+ # _@param_ `filter` — callback filter. Supported values are :before, :after and :around
8
+ #
9
+ # _@param_ `callback`
10
+ def define_callback: (untyped action, Symbol filter, _Callback callback) -> void
11
+
12
+ # _@param_ `action` — an action to run
13
+ def run_callbacks: (untyped action, *untyped args, **untyped kwargs) ?{ () -> untyped } -> untyped
14
+
15
+ def run_before_callbacks: (untyped action, *untyped args, **untyped kwargs) -> void
16
+
17
+ def run_around_callbacks: (untyped action, *untyped args, **untyped kwargs) ?{ () -> untyped } -> untyped
18
+
19
+ def run_after_callbacks: (untyped action, *untyped args, **untyped kwargs) -> void
20
+ end
21
+ end
@@ -0,0 +1,67 @@
1
+ module PgEventstore
2
+ class Client
3
+ # _@param_ `config`
4
+ def initialize: (PgEventstore::Config config) -> void
5
+
6
+ # _@param_ `stream`
7
+ #
8
+ # _@param_ `events_or_event`
9
+ #
10
+ # _@param_ `options`
11
+ #
12
+ # _@param_ `middlewares` — provide a list of middleware names to override a config's middlewares
13
+ def append_to_stream: (
14
+ PgEventstore::Stream stream,
15
+ (PgEventstore::Event | ::Array[PgEventstore::Event]) events_or_event,
16
+ ?options: ::Hash[untyped, untyped],
17
+ ?middlewares: ::Array[untyped]?
18
+ ) -> (PgEventstore::Event | ::Array[PgEventstore::Event])
19
+
20
+ def multiple: () { () -> untyped } -> untyped
21
+
22
+ # _@param_ `stream`
23
+ #
24
+ # _@param_ `options` — request options
25
+ #
26
+ # _@param_ `middlewares` — provide a list of middleware names to override a config's middlewares
27
+ def read: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped], ?middlewares: ::Array[::Symbol]?) -> ::Array[PgEventstore::Event]
28
+
29
+ # _@param_ `stream`
30
+ #
31
+ # _@param_ `options` — request options
32
+ #
33
+ # _@param_ `middlewares`
34
+ #
35
+ # _@return_ — enumerator will yield PgEventstore::Event
36
+ def read_paginated: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped], ?middlewares: ::Array[::Symbol]?) -> ::Enumerator[Array[PgEventstore::Event], void]
37
+
38
+ # _@param_ `stream`
39
+ #
40
+ # _@param_ `events_or_event`
41
+ #
42
+ # _@param_ `options`
43
+ #
44
+ # _@param_ `middlewares` — provide a list of middleware names to use. Defaults to empty array, meaning no middlewares will be applied to the "link" event
45
+ def link_to: (
46
+ PgEventstore::Stream stream,
47
+ (PgEventstore::Event | ::Array[PgEventstore::Event]) events_or_event,
48
+ ?options: ::Hash[untyped, untyped],
49
+ ?middlewares: ::Array[::Symbol]
50
+ ) -> (PgEventstore::Event | ::Array[PgEventstore::Event])
51
+
52
+ # _@param_ `middlewares`
53
+ def middlewares: (?::Array[::Symbol]? middlewares) -> ::Array[PgEventstore::Middleware]
54
+
55
+ def connection: () -> PgEventstore::Connection
56
+
57
+ def partition_queries: () -> PgEventstore::PartitionQueries
58
+
59
+ def transaction_queries: () -> PgEventstore::TransactionQueries
60
+
61
+ # _@param_ `middlewares`
62
+ def event_queries: (::Array[PgEventstore::Middleware] middlewares) -> PgEventstore::EventQueries
63
+
64
+ # Returns the value of attribute config.
65
+ attr_accessor config: PgEventstore::Config
66
+ end
67
+ end
@@ -0,0 +1,33 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class Append < PgEventstore::AbstractCommand
4
+ # _@param_ `stream`
5
+ #
6
+ # _@param_ `events`
7
+ #
8
+ # _@param_ `options`
9
+ #
10
+ # _@param_ `event_modifier`
11
+ #
12
+ # _@return_ — persisted events
13
+ def call: (
14
+ PgEventstore::Stream stream,
15
+ *PgEventstore::Event events,
16
+ ?options: ::Hash[untyped, untyped],
17
+ ?event_modifier: _EventModifier
18
+ ) -> ::Array[PgEventstore::Event]
19
+
20
+ # _@param_ `stream`
21
+ #
22
+ # _@param_ `events`
23
+ def create_partitions: (PgEventstore::Stream stream, ::Array[PgEventstore::Event] events) -> void
24
+
25
+ # _@param_ `revision`
26
+ #
27
+ # _@param_ `expected_revision`
28
+ #
29
+ # _@param_ `stream`
30
+ def assert_expected_revision!: (Integer revision, (Symbol | Integer) expected_revision, PgEventstore::Stream stream) -> void
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,24 @@
1
+ module PgEventstore
2
+ module Commands
3
+ module EventModifiers
4
+ class PrepareLinkEvent
5
+ # _@param_ `partition_queries`
6
+ def initialize: (PgEventstore::PartitionQueries partition_queries) -> void
7
+
8
+ # _@param_ `event`
9
+ #
10
+ # _@param_ `revision`
11
+ def call: (PgEventstore::Event event, Integer revision) -> PgEventstore::Event
12
+
13
+ # _@param_ `event` — persisted event
14
+ #
15
+ # _@return_ — partition id
16
+ def partition_id: (PgEventstore::Event event) -> Integer
17
+
18
+ attr_reader partition_queries: PgEventstore::PartitionQueries
19
+
20
+ attr_reader partitions: Hash[untyped, untyped]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ module PgEventstore
2
+ module Commands
3
+ module EventModifiers
4
+ class PrepareRegularEvent
5
+ # _@param_ `event`
6
+ #
7
+ # _@param_ `revision`
8
+ def call: (PgEventstore::Event event, Integer revision) -> PgEventstore::Event
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class LinkTo < PgEventstore::AbstractCommand
4
+ # _@param_ `stream`
5
+ #
6
+ # _@param_ `events`
7
+ #
8
+ # _@param_ `options`
9
+ #
10
+ # _@return_ — persisted events
11
+ def call: (PgEventstore::Stream stream, *PgEventstore::Event events, ?options: ::Hash[untyped, untyped]) -> ::Array[PgEventstore::Event]
12
+
13
+ # _@param_ `events`
14
+ def check_events_presence: (::Array[PgEventstore::Event] events) -> void
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class Multiple < PgEventstore::AbstractCommand
4
+ def call: () { () -> untyped } -> untyped
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class Read < PgEventstore::AbstractCommand
4
+ # _@param_ `stream`
5
+ #
6
+ # _@param_ `options` — request options
7
+ def call: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped]) -> ::Array[PgEventstore::Event]
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,32 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class RegularStreamReadPaginated < PgEventstore::AbstractCommand
4
+ # _@param_ `stream`
5
+ #
6
+ # _@param_ `options`
7
+ %a{rbs:test:skip} def call: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped]) -> ::Enumerator[Array[PgEventstore::Event], void]
8
+
9
+ # _@param_ `stream`
10
+ #
11
+ # _@param_ `options`
12
+ def calc_initial_revision: (PgEventstore::Stream stream, ::Hash[untyped, untyped] options) -> Integer
13
+
14
+ # _@param_ `events`
15
+ #
16
+ # _@param_ `max_count`
17
+ def end_reached?: (::Array[PgEventstore::Event] events, Integer max_count) -> bool
18
+
19
+ # _@param_ `events`
20
+ #
21
+ # _@param_ `revision`
22
+ #
23
+ # _@param_ `direction`
24
+ def calc_next_revision: (::Array[PgEventstore::Event] events, Integer revision, (String | Symbol)? direction) -> Integer
25
+
26
+ # _@param_ `direction`
27
+ def forwards?: ((String | Symbol)? direction) -> bool
28
+
29
+ def read_cmd: () -> PgEventstore::Commands::Read
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ module PgEventstore
2
+ module Commands
3
+ class SystemStreamReadPaginated < PgEventstore::AbstractCommand
4
+ # _@param_ `stream`
5
+ #
6
+ # _@param_ `options`
7
+ %a{rbs:test:skip} def call: (PgEventstore::Stream stream, ?options: ::Hash[untyped, untyped]) -> ::Enumerator[Array[PgEventstore::Event], void]
8
+
9
+ # _@param_ `stream`
10
+ #
11
+ # _@param_ `options`
12
+ def calc_initial_position: (PgEventstore::Stream stream, ::Hash[untyped, untyped] options) -> Integer
13
+
14
+ # _@param_ `events`
15
+ #
16
+ # _@param_ `max_count`
17
+ def end_reached?: (::Array[PgEventstore::Event] events, Integer max_count) -> bool
18
+
19
+ # _@param_ `events`
20
+ #
21
+ # _@param_ `direction`
22
+ def calc_next_position: (::Array[PgEventstore::Event] events, (String | Symbol)? direction) -> Integer
23
+
24
+ # _@param_ `direction`
25
+ def forwards?: ((String | Symbol)? direction) -> bool
26
+
27
+ def read_cmd: () -> PgEventstore::Commands::Read
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,51 @@
1
+ module PgEventstore
2
+ class Config
3
+ include PgEventstore::Extensions::OptionsExtension
4
+
5
+ # _@param_ `name` — config's name. Its value matches the appropriate key in PgEventstore.config hash
6
+ def initialize: (name: Symbol, **untyped options) -> void
7
+
8
+ def connection_options: () -> ::Hash[untyped, untyped]
9
+
10
+ def options_hash: () -> ::Hash[untyped, untyped]
11
+
12
+ # _@param_ `opt_name`
13
+ def readonly!: (Symbol opt_name) -> bool
14
+
15
+ # _@param_ `opt_name`
16
+ def readonly?: (Symbol opt_name) -> bool
17
+
18
+ # _@param_ `opt_name`
19
+ def readonly_error: (Symbol opt_name) -> void
20
+
21
+ # _@param_ `options`
22
+ def init_default_values: (::Hash[untyped, untyped] options) -> void
23
+
24
+ attr_reader name: untyped
25
+
26
+ attr_accessor pg_uri: String
27
+
28
+ # _@return_ — Number of events to return in one response when reading from a stream
29
+ attr_accessor max_count: Integer
30
+
31
+ attr_accessor middlewares: ::Hash[Symbol, PgEventstore::Middleware]
32
+
33
+ attr_accessor event_class_resolver: _EventClassResolver
34
+
35
+ attr_accessor connection_pool_size: Integer
36
+
37
+ attr_accessor connection_pool_timeout: Integer
38
+
39
+ attr_accessor subscription_pull_interval: Float | Integer
40
+
41
+ attr_accessor subscription_max_retries: Integer
42
+
43
+ attr_accessor subscription_retries_interval: Integer
44
+
45
+ attr_accessor subscription_restart_terminator: _RestartTerminator?
46
+
47
+ attr_accessor subscriptions_set_max_retries: Integer
48
+
49
+ attr_accessor subscriptions_set_retries_interval: Integer
50
+ end
51
+ end
@@ -0,0 +1,30 @@
1
+ module PgEventstore
2
+ class Connection
3
+ module Ruby30Patch
4
+ end
5
+
6
+ include PgEventstore::Connection::Ruby30Patch
7
+
8
+ # _@param_ `uri` — PostgreSQL connection URI. Example: "postgresql://postgres:postgres@localhost:5432/eventstore"
9
+ #
10
+ # _@param_ `pool_size` — Connection pool size
11
+ #
12
+ # _@param_ `pool_timeout` — Connection pool timeout in seconds
13
+ def initialize: (uri: String, ?pool_size: Integer, ?pool_timeout: Integer) -> void
14
+
15
+ def with: () { (PG::Connection connection) -> untyped } -> untyped
16
+
17
+ def init_pool: () -> ConnectionPool[untyped]
18
+
19
+ def pg_type_registry: () -> PG::BasicTypeRegistry
20
+
21
+ # Returns the value of attribute uri.
22
+ attr_accessor uri: String
23
+
24
+ # Returns the value of attribute pool_size.
25
+ attr_accessor pool_size: Integer
26
+
27
+ # Returns the value of attribute pool_timeout.
28
+ attr_accessor pool_timeout: Integer
29
+ end
30
+ end
@@ -0,0 +1,116 @@
1
+ module PgEventstore
2
+ class Error < StandardError
3
+ def as_json: () -> ::Hash[untyped, untyped]
4
+
5
+ def to_h: () -> ::Hash[untyped, untyped]
6
+ end
7
+
8
+ class StreamNotFoundError < PgEventstore::Error
9
+ # _@param_ `stream`
10
+ def initialize: (PgEventstore::Stream stream) -> void
11
+
12
+ # Returns the value of attribute stream.
13
+ attr_accessor stream: PgEventstore::Stream
14
+ end
15
+
16
+ class SystemStreamError < PgEventstore::Error
17
+ # _@param_ `stream`
18
+ def initialize: (PgEventstore::Stream stream) -> void
19
+
20
+ attr_accessor stream: PgEventstore::Stream
21
+ end
22
+
23
+ class WrongExpectedRevisionError < PgEventstore::Error
24
+ # _@param_ `revision`
25
+ #
26
+ # _@param_ `expected_revision`
27
+ #
28
+ # _@param_ `stream`
29
+ def initialize: (revision: Integer, expected_revision: (Integer | Symbol), stream: PgEventstore::Stream) -> void
30
+
31
+ def user_friendly_message: () -> String
32
+
33
+ def expected_stream_exists: () -> String
34
+
35
+ def expected_no_stream: () -> String
36
+
37
+ def current_no_stream: () -> String
38
+
39
+ def unmatched_stream_revision: () -> String
40
+
41
+ def stream_descr: () -> String
42
+
43
+ attr_accessor stream: PgEventstore::Stream
44
+
45
+ attr_accessor revision: Integer
46
+
47
+ attr_accessor expected_revision: (Integer | Symbol)
48
+ end
49
+
50
+ class RecordNotFound < PgEventstore::Error
51
+ # _@param_ `table_name`
52
+ #
53
+ # _@param_ `id`
54
+ def initialize: (String table_name, (Integer | String) id) -> void
55
+
56
+ def user_friendly_message: () -> String
57
+
58
+ attr_accessor table_name: String
59
+
60
+ attr_accessor id: (Integer | String)
61
+ end
62
+
63
+ class SubscriptionAlreadyLockedError < PgEventstore::Error
64
+ # _@param_ `set` — subscriptions set name
65
+ #
66
+ # _@param_ `name` — subscription's name
67
+ #
68
+ # _@param_ `lock_id`
69
+ def initialize: (String set, String name, Integer lock_id) -> void
70
+
71
+ def user_friendly_message: () -> String
72
+
73
+ attr_accessor set: String
74
+
75
+ attr_accessor name: String
76
+
77
+ attr_accessor lock_id: Integer
78
+ end
79
+
80
+ class WrongLockIdError < PgEventstore::Error
81
+ # _@param_ `set` — subscriptions set name
82
+ #
83
+ # _@param_ `name` — subscription's name
84
+ #
85
+ # _@param_ `lock_id`
86
+ def initialize: (String set, String name, Integer lock_id) -> void
87
+
88
+ def user_friendly_message: () -> String
89
+
90
+ attr_accessor set: String
91
+
92
+ attr_accessor name: String
93
+
94
+ attr_accessor lock_id: Integer
95
+ end
96
+
97
+ class NotPersistedEventError < PgEventstore::Error
98
+ # _@param_ `event`
99
+ def initialize: (PgEventstore::Event event) -> void
100
+
101
+ def user_friendly_message: () -> String
102
+
103
+ attr_accessor event: PgEventstore::Event
104
+ end
105
+
106
+ class MissingPartitions < PgEventstore::Error
107
+ # _@param_ `stream`
108
+ #
109
+ # _@param_ `event_types`
110
+ def initialize: (PgEventstore::Stream stream, ::Array[String] event_types) -> void
111
+
112
+ attr_accessor stream: PgEventstore::Stream
113
+
114
+ attr_accessor event_types: ::Array[String]
115
+ end
116
+ end
@@ -0,0 +1,46 @@
1
+ module PgEventstore
2
+ class Event
3
+ include PgEventstore::Extensions::OptionsExtension
4
+ LINK_TYPE: String
5
+
6
+ def ==: ((Object | PgEventstore::Event) other) -> bool
7
+
8
+ def link?: () -> bool
9
+
10
+ def system?: () -> bool
11
+
12
+ def initialize: (**untyped options) -> void
13
+
14
+ def options_hash: () -> ::Hash[untyped, untyped]
15
+
16
+ def readonly!: (Symbol opt_name) -> bool
17
+
18
+ def readonly?: (Symbol opt_name) -> bool
19
+
20
+ def readonly_error: (Symbol opt_name) -> void
21
+
22
+ def init_default_values: (::Hash[untyped, untyped] options) -> void
23
+
24
+ attr_accessor id: String?
25
+
26
+ attr_accessor type: String
27
+
28
+ attr_accessor global_position: Integer?
29
+
30
+ attr_accessor stream: PgEventstore::Stream?
31
+
32
+ attr_accessor stream_revision: Integer?
33
+
34
+ attr_accessor data: ::Hash[untyped, untyped]
35
+
36
+ attr_accessor metadata: ::Hash[untyped, untyped]
37
+
38
+ attr_accessor link_id: String?
39
+
40
+ attr_accessor link_partition_id: Integer?
41
+
42
+ attr_accessor link: PgEventstore::Event?
43
+
44
+ attr_accessor created_at: Time?
45
+ end
46
+ end
@@ -0,0 +1,6 @@
1
+ module PgEventstore
2
+ class EventClassResolver
3
+ # _@param_ `event_type`
4
+ def call: (String? event_type) -> Class
5
+ end
6
+ end