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,20 @@
1
+ module PgEventstore
2
+ class EventDeserializer
3
+ # _@param_ `middlewares`
4
+ #
5
+ # _@param_ `event_class_resolver`
6
+ def initialize: (::Array[PgEventstore::Middleware] middlewares, _EventClassResolver event_class_resolver) -> void
7
+
8
+ # _@param_ `raw_events`
9
+ def deserialize_many: (::Array[::Hash[untyped, untyped]] raw_events) -> ::Array[PgEventstore::Event]
10
+
11
+ # _@param_ `attrs`
12
+ def deserialize: (::Hash[untyped, untyped] attrs) -> PgEventstore::Event
13
+
14
+ def without_middlewares: () -> PgEventstore::EventDeserializer
15
+
16
+ attr_accessor middlewares: ::Array[PgEventstore::Middleware]
17
+
18
+ attr_accessor event_class_resolver: _EventClassResolver
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ module PgEventstore
2
+ class EventSerializer
3
+ # _@param_ `middlewares`
4
+ def initialize: (::Array[PgEventstore::Middleware] middlewares) -> void
5
+
6
+ # _@param_ `event`
7
+ def serialize: (PgEventstore::Event event) -> PgEventstore::Event
8
+
9
+ def without_middlewares: () -> PgEventstore::EventSerializer
10
+
11
+ attr_accessor middlewares: ::Array[PgEventstore::Middleware]
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ module PgEventstore
2
+ module Extensions
3
+ module CallbacksExtension
4
+ def self.included: (untyped klass) -> untyped
5
+
6
+ def define_callback: (*untyped) -> void
7
+
8
+ module InitCallbacks
9
+ def initialize: (*untyped, **untyped) ?{ (*untyped, **untyped) -> untyped } -> void
10
+ end
11
+
12
+ module ClassMethods
13
+ # _@param_ `action`
14
+ #
15
+ # _@param_ `method_name`
16
+ def has_callbacks: ((String | Symbol) action, Symbol method_name) -> void
17
+
18
+ # _@param_ `method_name`
19
+ def visibility_method: (Symbol method_name) -> Symbol
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,37 @@
1
+ module PgEventstore
2
+ module Extensions
3
+ module OptionsExtension
4
+ def self.included: (untyped klass) -> untyped
5
+
6
+ def initialize: (**untyped options) -> void
7
+
8
+ # Construct a hash from options, where key is the option's name and the value is option's
9
+ # value
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
+ module ClassMethods
25
+ # _@param_ `opt_name` — option name
26
+ #
27
+ # _@param_ `blk` — provide define value using block. It will be later evaluated in the context of your object to determine the default value of the option
28
+ def option: (Symbol opt_name) ?{ () -> untyped } -> Symbol
29
+
30
+ def inherited: (untyped klass) -> untyped
31
+
32
+ # _@param_ `method_name`
33
+ def warn_already_defined: (Symbol method_name) -> void
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ module PgEventstore
2
+ module Extensions
3
+ module UsingConnectionExtension
4
+ def self.included: (untyped klass) -> untyped
5
+
6
+ module ClassMethods
7
+ def connection: () -> PgEventstore::Connection
8
+
9
+ # _@param_ `config_name`
10
+ def using_connection: (Symbol config_name) -> Class
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ module PgEventstore
2
+ module Middleware
3
+ # _@param_ `event`
4
+ def serialize: (PgEventstore::Event event) -> void
5
+
6
+ # _@param_ `event`
7
+ def deserialize: (PgEventstore::Event event) -> void
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ module PgEventstore
2
+ class PgConnection < PG::Connection
3
+ def exec: (untyped sql) -> untyped
4
+
5
+ def exec_params: (untyped sql, untyped params) -> untyped
6
+
7
+ def log: (untyped sql, untyped params) -> untyped
8
+
9
+ def encode_value: (untyped value) -> untyped
10
+
11
+ def normalize_value: (untyped value) -> untyped
12
+ end
13
+ end
@@ -0,0 +1,50 @@
1
+ module PgEventstore
2
+ class EventQueries
3
+ # _@param_ `connection`
4
+ #
5
+ # _@param_ `serializer`
6
+ #
7
+ # _@param_ `deserializer`
8
+ def initialize: (PgEventstore::Connection connection, PgEventstore::EventSerializer serializer, PgEventstore::EventDeserializer deserializer) -> void
9
+
10
+ # _@param_ `event`
11
+ def event_exists?: (PgEventstore::Event event) -> bool
12
+
13
+ # _@param_ `events`
14
+ def ids_from_db: (::Array[PgEventstore::Event] events) -> ::Array[String]
15
+
16
+ # _@param_ `stream`
17
+ def stream_revision: (PgEventstore::Stream stream) -> Integer?
18
+
19
+ # _@param_ `stream`
20
+ #
21
+ # _@param_ `options`
22
+ def stream_events: (PgEventstore::Stream stream, ::Hash[untyped, untyped] options) -> ::Array[PgEventstore::Event]
23
+
24
+ # _@param_ `stream`
25
+ #
26
+ # _@param_ `events`
27
+ def insert: (PgEventstore::Stream stream, ::Array[PgEventstore::Event] events) -> ::Array[PgEventstore::Event]
28
+
29
+ # _@param_ `stream`
30
+ #
31
+ # _@param_ `events`
32
+ def prepared_statements: (PgEventstore::Stream stream, ::Array[PgEventstore::Event] events) -> ::Array[(::Array[String] | ::Array[Object])]
33
+
34
+ # _@param_ `stream`
35
+ #
36
+ # _@param_ `options`
37
+ def events_filtering: (PgEventstore::Stream stream, ::Hash[untyped, untyped] options) -> PgEventstore::QueryBuilders::EventsFiltering
38
+
39
+ def links_resolver: () -> PgEventstore::LinksResolver
40
+
41
+ # Returns the value of attribute connection.
42
+ attr_accessor connection: PgEventstore::Connection
43
+
44
+ # Returns the value of attribute serializer.
45
+ attr_accessor serializer: PgEventstore::EventSerializer
46
+
47
+ # Returns the value of attribute deserializer.
48
+ attr_accessor deserializer: PgEventstore::EventDeserializer
49
+ end
50
+ end
@@ -0,0 +1,19 @@
1
+ module PgEventstore
2
+ class LinksResolver
3
+ # _@param_ `connection`
4
+ def initialize: (PgEventstore::Connection connection) -> void
5
+
6
+ # _@param_ `raw_events`
7
+ def resolve: (::Array[::Hash[untyped, untyped]] raw_events) -> ::Array[::Hash[untyped, untyped]]
8
+
9
+ # _@param_ `link_events` — partition id to link events association
10
+ #
11
+ # _@return_ — original events
12
+ def load_original_events: (::Hash[Integer, ::Array[::Hash[untyped, untyped]]] link_events) -> ::Array[::Hash[untyped, untyped]]
13
+
14
+ def partition_queries: () -> PgEventstore::PartitionQueries
15
+
16
+ # Returns the value of attribute connection.
17
+ attr_accessor connection: PgEventstore::Connection
18
+ end
19
+ end
@@ -0,0 +1,74 @@
1
+ module PgEventstore
2
+ class PartitionQueries
3
+ # _@param_ `connection`
4
+ def initialize: (PgEventstore::Connection connection) -> void
5
+
6
+ # _@param_ `stream`
7
+ #
8
+ # _@return_ — partition attributes
9
+ def create_context_partition: (PgEventstore::Stream stream) -> ::Hash[untyped, untyped]
10
+
11
+ # _@param_ `stream`
12
+ #
13
+ # _@param_ `context_partition_name`
14
+ #
15
+ # _@return_ — partition attributes
16
+ def create_stream_name_partition: (PgEventstore::Stream stream, String context_partition_name) -> ::Hash[untyped, untyped]
17
+
18
+ # _@param_ `stream`
19
+ #
20
+ # _@param_ `event_type`
21
+ #
22
+ # _@param_ `stream_name_partition_name`
23
+ #
24
+ # _@return_ — partition attributes
25
+ def create_event_type_partition: (PgEventstore::Stream stream, String event_type, String stream_name_partition_name) -> ::Hash[untyped, untyped]
26
+
27
+ # _@param_ `stream`
28
+ #
29
+ # _@param_ `event_type`
30
+ def partition_required?: (PgEventstore::Stream stream, String event_type) -> bool
31
+
32
+ # _@param_ `stream`
33
+ #
34
+ # _@param_ `event_type`
35
+ def create_partitions: (PgEventstore::Stream stream, String event_type) -> void
36
+
37
+ # _@param_ `stream`
38
+ #
39
+ # _@return_ — partition attributes
40
+ def context_partition: (PgEventstore::Stream stream) -> ::Hash[untyped, untyped]?
41
+
42
+ # _@param_ `stream`
43
+ #
44
+ # _@return_ — partition attributes
45
+ def stream_name_partition: (PgEventstore::Stream stream) -> ::Hash[untyped, untyped]?
46
+
47
+ # _@param_ `stream`
48
+ #
49
+ # _@param_ `event_type`
50
+ #
51
+ # _@return_ — partition attributes
52
+ def event_type_partition: (PgEventstore::Stream stream, String event_type) -> ::Hash[untyped, untyped]?
53
+
54
+ # _@param_ `table_name`
55
+ def partition_name_taken?: (String table_name) -> bool
56
+
57
+ # _@param_ `ids`
58
+ def find_by_ids: (::Array[Integer] ids) -> ::Array[::Hash[untyped, untyped]]
59
+
60
+ # _@param_ `stream`
61
+ def context_partition_name: (PgEventstore::Stream stream) -> String
62
+
63
+ # _@param_ `stream`
64
+ def stream_name_partition_name: (PgEventstore::Stream stream) -> String
65
+
66
+ # _@param_ `stream`
67
+ #
68
+ # _@param_ `event_type`
69
+ def event_type_partition_name: (PgEventstore::Stream stream, String event_type) -> String
70
+
71
+ # Returns the value of attribute connection.
72
+ attr_accessor connection: PgEventstore::Connection
73
+ end
74
+ end
@@ -0,0 +1,21 @@
1
+ module PgEventstore
2
+ class TransactionQueries
3
+ ISOLATION_LEVELS: ::Hash[Symbol, String]
4
+
5
+ # _@param_ `connection`
6
+ def initialize: (PgEventstore::Connection connection) -> void
7
+
8
+ # _@param_ `level` — transaction isolation level
9
+ def transaction: (?Symbol level) { () -> untyped } -> void
10
+
11
+ # _@param_ `level` — PostgreSQL transaction isolation level
12
+ #
13
+ # _@param_ `pg_connection`
14
+ def pg_transaction: (String level, PG::Connection pg_connection) { () -> untyped } -> void
15
+
16
+ def partition_queries: () -> PgEventstore::PartitionQueries
17
+
18
+ # Returns the value of attribute connection.
19
+ attr_accessor connection: PgEventstore::Connection
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ module PgEventstore
2
+ class Queries
3
+ include PgEventstore::Extensions::OptionsExtension
4
+
5
+ def initialize: (**untyped options) -> void
6
+
7
+ def options_hash: () -> ::Hash[untyped, untyped]
8
+
9
+ def readonly!: (Symbol opt_name) -> bool
10
+
11
+ def readonly?: (Symbol opt_name) -> bool
12
+
13
+ def readonly_error: (Symbol opt_name) -> void
14
+
15
+ def init_default_values: (::Hash[untyped, untyped] options) -> void
16
+
17
+ attr_accessor events: PgEventstore::EventQueries?
18
+
19
+ attr_accessor partitions: PgEventstore::PartitionQueries?
20
+
21
+ attr_accessor transactions: PgEventstore::TransactionQueries?
22
+ end
23
+ end
@@ -0,0 +1,62 @@
1
+ module PgEventstore
2
+ module QueryBuilders
3
+ # @!visibility private
4
+ class EventsFiltering
5
+ DEFAULT_LIMIT: Integer
6
+ SQL_DIRECTIONS: Hash[String | Symbol, String]
7
+ SUBSCRIPTIONS_OPTIONS: ::Array[Symbol]
8
+
9
+ # _@param_ `options`
10
+ def self.subscriptions_events_filtering: (::Hash[untyped, untyped] options) -> PgEventstore::QueryBuilders::EventsFiltering
11
+
12
+ # _@param_ `options`
13
+ def self.all_stream_filtering: (::Hash[untyped, untyped] options) -> PgEventstore::QueryBuilders::EventsFiltering
14
+
15
+ # _@param_ `stream`
16
+ #
17
+ # _@param_ `options`
18
+ def self.specific_stream_filtering: (PgEventstore::Stream stream, ::Hash[untyped, untyped] options) -> PgEventstore::QueryBuilders::EventsFiltering
19
+
20
+ def initialize: () -> void
21
+
22
+ # _@param_ `context`
23
+ #
24
+ # _@param_ `stream_name`
25
+ #
26
+ # _@param_ `stream_id`
27
+ def add_stream_attrs: (?context: String?, ?stream_name: String?, ?stream_id: String?) -> void
28
+
29
+ # _@param_ `event_types`
30
+ def add_event_types: (::Array[String]? event_types) -> void
31
+
32
+ # _@param_ `revision`
33
+ #
34
+ # _@param_ `direction`
35
+ def add_revision: (Integer? revision, (String | Symbol)? direction) -> void
36
+
37
+ # _@param_ `position`
38
+ #
39
+ # _@param_ `direction`
40
+ def add_global_position: (Integer? position, (String | Symbol)? direction) -> void
41
+
42
+ # _@param_ `direction`
43
+ def add_stream_direction: ((String | Symbol)? direction) -> void
44
+
45
+ # _@param_ `direction`
46
+ def add_all_stream_direction: ((String | Symbol)? direction) -> void
47
+
48
+ # _@param_ `limit`
49
+ def add_limit: (Integer? limit) -> void
50
+
51
+ def to_sql_builder: () -> PgEventstore::SQLBuilder
52
+
53
+ def to_exec_params: () -> ::Array[untyped]
54
+
55
+ # _@param_ `stream_attrs`
56
+ def correct_stream_filter?: (::Hash[untyped, untyped] stream_attrs) -> bool
57
+
58
+ # _@param_ `direction`
59
+ def direction_operator: ((String | Symbol)? direction) -> String
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,74 @@
1
+ module PgEventstore
2
+ class SQLBuilder
3
+ def initialize: () -> void
4
+
5
+ # _@param_ `sql`
6
+ def select: (String sql) -> self
7
+
8
+ def unselect: () -> self
9
+
10
+ # _@param_ `sql`
11
+ #
12
+ # _@param_ `arguments` — positional values
13
+ def where: (String sql, *untyped arguments) -> self
14
+
15
+ # _@param_ `sql`
16
+ #
17
+ # _@param_ `arguments` — positional values
18
+ def where_or: (String sql, *Object arguments) -> self
19
+
20
+ # _@param_ `table_name`
21
+ def from: (String table_name) -> self
22
+
23
+ # _@param_ `sql`
24
+ #
25
+ # _@param_ `arguments`
26
+ def join: (String sql, *Object arguments) -> self
27
+
28
+ # _@param_ `sql`
29
+ def order: (String sql) -> self
30
+
31
+ def remove_order: () -> self
32
+
33
+ # _@param_ `limit`
34
+ def limit: (Integer limit) -> self
35
+
36
+ def remove_limit: () -> self
37
+
38
+ # _@param_ `offset`
39
+ def offset: (Integer offset) -> self
40
+
41
+ # _@param_ `another_builder`
42
+ def union: (PgEventstore::SQLBuilder another_builder) -> self
43
+
44
+ # _@param_ `sql`
45
+ def group: (String sql) -> self
46
+
47
+ def remove_group: () -> self
48
+
49
+ def to_exec_params: () -> ::Array[(String | ::Array[untyped])]
50
+
51
+ def positional_values: () -> ::Array[Object]
52
+
53
+ # _@param_ `val`
54
+ def positional_values_size=: (Integer val) -> Integer
55
+
56
+ def _to_exec_params: () -> ::Array[(String | ::Array[untyped])]
57
+
58
+ def single_query_sql: () -> String
59
+
60
+ def union_query_sql: () -> String
61
+
62
+ def select_sql: () -> String
63
+
64
+ # _@param_ `join_pattern` — "OR"/"AND"
65
+ def where_sql: (String join_pattern) -> String
66
+
67
+ def join_sql: () -> String
68
+
69
+ def order_sql: () -> String
70
+
71
+ # _@param_ `sql`
72
+ def extract_positional_args: (String sql, *untyped arguments) -> String
73
+ end
74
+ end
@@ -0,0 +1,40 @@
1
+ module PgEventstore
2
+ class Stream
3
+ SYSTEM_STREAM_PREFIX: String
4
+ NON_EXISTING_STREAM_REVISION: Integer
5
+
6
+ def self.all_stream: () -> PgEventstore::Stream
7
+
8
+ # _@param_ `context`
9
+ #
10
+ # _@param_ `stream_name`
11
+ #
12
+ # _@param_ `stream_id`
13
+ def initialize: (context: String, stream_name: String, stream_id: String) -> void
14
+
15
+ def all_stream?: () -> bool
16
+
17
+ def system?: () -> bool
18
+
19
+ def deconstruct: () -> ::Array[untyped]
20
+
21
+ # _@param_ `keys`
22
+ def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, String]
23
+
24
+ def to_hash: () -> ::Hash[untyped, untyped]
25
+
26
+ def hash: () -> Integer
27
+
28
+ # _@param_ `another`
29
+ def eql?: (untyped another) -> bool
30
+
31
+ # _@param_ `other_stream`
32
+ def ==: (untyped other_stream) -> bool
33
+
34
+ attr_accessor context: String
35
+
36
+ attr_accessor stream_name: String
37
+
38
+ attr_accessor stream_id: String
39
+ end
40
+ end
@@ -0,0 +1,37 @@
1
+ module PgEventstore
2
+ class BasicRunner
3
+ include PgEventstore::Extensions::CallbacksExtension
4
+ extend Forwardable
5
+
6
+ # _@param_ `run_interval` — seconds. Determines how often to run async task. Async task is determined by :after_runner_stopped callback
7
+ #
8
+ # _@param_ `async_shutdown_time` — seconds. Determines how long to wait for the async shutdown to wait for the runner to finish.
9
+ %a{rbs:test:skip} def initialize: ((Integer | Float) run_interval, (Integer | Float) async_shutdown_time) -> void
10
+
11
+ def start: () -> self
12
+
13
+ def stop: () -> self
14
+
15
+ def stop_async: () -> self
16
+
17
+ def restore: () -> self
18
+
19
+ def wait_for_finish: () -> self
20
+
21
+ def state: () -> String
22
+
23
+ # _@param_ `state`
24
+ def within_state: (Symbol state) { () -> untyped } -> untyped
25
+
26
+ def synchronize: () { () -> untyped } -> untyped
27
+
28
+ def _start: () -> void
29
+
30
+ def delegate_change_state_cbx: () -> void
31
+
32
+ # _@param_ `state`
33
+ def change_state: (String state) -> void
34
+
35
+ def define_callback: () -> void
36
+ end
37
+ end
@@ -0,0 +1,16 @@
1
+ module PgEventstore
2
+ module CommandHandlers
3
+ class SubscriptionFeederCommands
4
+ # _@param_ `config_name`
5
+ #
6
+ # _@param_ `subscription_feeder`
7
+ def initialize: (Symbol config_name, PgEventstore::SubscriptionFeeder subscription_feeder) -> void
8
+
9
+ def process: () -> void
10
+
11
+ def queries: () -> PgEventstore::SubscriptionsSetCommandQueries
12
+
13
+ def connection: () -> PgEventstore::Connection
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ module PgEventstore
2
+ module CommandHandlers
3
+ class SubscriptionRunnersCommands
4
+ # _@param_ `config_name`
5
+ #
6
+ # _@param_ `runners`
7
+ #
8
+ # _@param_ `subscriptions_set_id`
9
+ def initialize: (Symbol config_name, ::Array[PgEventstore::SubscriptionRunner] runners, Integer subscriptions_set_id) -> void
10
+
11
+ def process: () -> void
12
+
13
+ def queries: () -> PgEventstore::SubscriptionCommandQueries
14
+
15
+ def connection: () -> PgEventstore::Connection
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,25 @@
1
+ module PgEventstore
2
+ class CommandsHandler
3
+ extend Forwardable
4
+ RESTART_DELAY: Integer
5
+ PULL_INTERVAL: Integer
6
+
7
+ # _@param_ `config_name`
8
+ #
9
+ # _@param_ `subscription_feeder`
10
+ #
11
+ # _@param_ `runners`
12
+ def initialize: (Symbol config_name, PgEventstore::SubscriptionFeeder subscription_feeder, ::Array[PgEventstore::SubscriptionRunner] runners) -> void
13
+
14
+ def attach_runner_callbacks: () -> untyped
15
+
16
+ def process_async: () -> untyped
17
+
18
+ # _@param_ `error`
19
+ def after_runner_died: (StandardError error) -> void
20
+
21
+ def subscription_feeder_commands: () -> PgEventstore::CommandHandlers::SubscriptionFeederCommands
22
+
23
+ def subscription_runners_commands: () -> PgEventstore::CommandHandlers::SubscriptionRunnersCommands
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ module PgEventstore
2
+ class EventsProcessor
3
+ include PgEventstore::Extensions::CallbacksExtension
4
+ extend Forwardable
5
+
6
+ # _@param_ `handler`
7
+ %a{rbs:test:skip} def initialize: (_SubscriptionHandler handler) -> void
8
+
9
+ # _@param_ `raw_events`
10
+ def feed: (::Array[::Hash[untyped, untyped]] raw_events) -> void
11
+
12
+ def events_left_in_chunk: () -> Integer
13
+
14
+ def clear_chunk: () -> void
15
+
16
+ # _@param_ `raw_event`
17
+ def process_event: (::Hash[untyped, untyped] raw_event) -> void
18
+
19
+ def attach_runner_callbacks: () -> void
20
+
21
+ def process_async: () -> void
22
+
23
+ def after_runner_died: (StandardError error) -> void
24
+
25
+ def before_runner_restored: () -> void
26
+
27
+ def change_state: (*untyped args, **untyped kwargs) -> void
28
+
29
+ # _@param_ `raw_event`
30
+ def global_position: (::Hash[untyped, untyped] raw_event) -> Integer
31
+
32
+ def define_callback: () -> void
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ module PgEventstore
2
+ module Extensions
3
+ module BaseCommandExtension
4
+ def self.included: (untyped klass) -> untyped
5
+
6
+ def hash: () -> Integer
7
+
8
+ # _@param_ `another`
9
+ def eql?: (Object another) -> bool
10
+
11
+ # _@param_ `another`
12
+ def ==: (Object another) -> bool
13
+
14
+ module ClassMethods
15
+ # _@param_ `data`
16
+ def parse_data: (::Hash[untyped, untyped] data) -> ::Hash[untyped, untyped]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,8 @@
1
+ module PgEventstore
2
+ module Extensions
3
+ module CommandClassLookupExtension
4
+ # _@param_ `cmd_name`
5
+ def command_class: ((String | Symbol) cmd_name) -> Class
6
+ end
7
+ end
8
+ end