wal 0.0.0 → 0.0.2

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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/README.md +49 -0
  4. data/Rakefile +9 -1
  5. data/exe/wal +64 -0
  6. data/lib/wal/active_record_context_extension.rb +15 -0
  7. data/lib/wal/noop_watcher.rb +12 -0
  8. data/lib/wal/record_watcher.rb +389 -0
  9. data/lib/wal/replicator.rb +205 -0
  10. data/lib/wal/streaming_watcher.rb +74 -0
  11. data/lib/wal/version.rb +2 -1
  12. data/lib/wal/watcher.rb +95 -0
  13. data/lib/wal.rb +128 -1
  14. data/rbi/wal.rbi +295 -0
  15. data/sig/wal.rbs +184 -2
  16. data/sorbet/config +7 -0
  17. data/sorbet/rbi/annotations/.gitattributes +1 -0
  18. data/sorbet/rbi/annotations/activemodel.rbi +89 -0
  19. data/sorbet/rbi/annotations/activerecord.rbi +98 -0
  20. data/sorbet/rbi/annotations/activesupport.rbi +463 -0
  21. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  22. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  23. data/sorbet/rbi/gems/.gitattributes +1 -0
  24. data/sorbet/rbi/gems/actioncable@8.0.2.rbi +9 -0
  25. data/sorbet/rbi/gems/actionmailbox@8.0.2.rbi +9 -0
  26. data/sorbet/rbi/gems/actionmailer@8.0.2.rbi +9 -0
  27. data/sorbet/rbi/gems/actionpack@8.0.2.rbi +21122 -0
  28. data/sorbet/rbi/gems/actiontext@8.0.2.rbi +9 -0
  29. data/sorbet/rbi/gems/actionview@8.0.2.rbi +16423 -0
  30. data/sorbet/rbi/gems/activejob@8.0.2.rbi +9 -0
  31. data/sorbet/rbi/gems/activemodel@8.0.2.rbi +6866 -0
  32. data/sorbet/rbi/gems/activerecord@8.0.2.rbi +43227 -0
  33. data/sorbet/rbi/gems/activestorage@8.0.2.rbi +9 -0
  34. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +21110 -0
  35. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  36. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  37. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  38. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +78 -0
  39. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  40. data/sorbet/rbi/gems/commander@5.0.0.rbi +9 -0
  41. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  42. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  43. data/sorbet/rbi/gems/crass@1.0.6.rbi +623 -0
  44. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  45. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +1134 -0
  46. data/sorbet/rbi/gems/docker-api@2.4.0.rbi +1719 -0
  47. data/sorbet/rbi/gems/docopt@0.6.1.rbi +9 -0
  48. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  49. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  50. data/sorbet/rbi/gems/excon@1.2.7.rbi +1514 -0
  51. data/sorbet/rbi/gems/globalid@1.2.1.rbi +9 -0
  52. data/sorbet/rbi/gems/highline@3.0.1.rbi +9 -0
  53. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  54. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  55. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  56. data/sorbet/rbi/gems/loofah@2.24.1.rbi +1105 -0
  57. data/sorbet/rbi/gems/mail@2.8.1.rbi +9 -0
  58. data/sorbet/rbi/gems/marcel@1.0.4.rbi +9 -0
  59. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +9 -0
  60. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1704 -0
  61. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +268 -0
  62. data/sorbet/rbi/gems/net-imap@0.5.9.rbi +9 -0
  63. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +9 -0
  64. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +292 -0
  65. data/sorbet/rbi/gems/net-smtp@0.5.1.rbi +9 -0
  66. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  67. data/sorbet/rbi/gems/nio4r@2.7.4.rbi +9 -0
  68. data/sorbet/rbi/gems/nokogiri@1.18.8.rbi +8206 -0
  69. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  70. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  71. data/sorbet/rbi/gems/parlour@9.1.1.rbi +3071 -0
  72. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +7338 -0
  73. data/sorbet/rbi/gems/pg-replication-protocol@0.0.7.rbi +633 -0
  74. data/sorbet/rbi/gems/pg@1.5.9.rbi +2806 -0
  75. data/sorbet/rbi/gems/pp@0.6.2.rbi +368 -0
  76. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +477 -0
  77. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  78. data/sorbet/rbi/gems/psych@5.2.3.rbi +2435 -0
  79. data/sorbet/rbi/gems/racc@1.8.1.rbi +160 -0
  80. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +727 -0
  81. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +734 -0
  82. data/sorbet/rbi/gems/rack@3.1.16.rbi +4940 -0
  83. data/sorbet/rbi/gems/rackup@2.2.1.rbi +230 -0
  84. data/sorbet/rbi/gems/rails-dom-testing@2.3.0.rbi +858 -0
  85. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +785 -0
  86. data/sorbet/rbi/gems/rails@8.0.2.rbi +9 -0
  87. data/sorbet/rbi/gems/railties@8.0.2.rbi +3865 -0
  88. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  89. data/sorbet/rbi/gems/rake@13.2.1.rbi +3120 -0
  90. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  91. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  92. data/sorbet/rbi/gems/rdoc@6.12.0.rbi +12760 -0
  93. data/sorbet/rbi/gems/reline@0.6.0.rbi +2451 -0
  94. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5240 -0
  95. data/sorbet/rbi/gems/rspec-core@3.13.4.rbi +11348 -0
  96. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +8189 -0
  97. data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +5350 -0
  98. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +164 -0
  99. data/sorbet/rbi/gems/rspec-support@3.13.4.rbi +1630 -0
  100. data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
  101. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  102. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  103. data/sorbet/rbi/gems/stringio@3.1.5.rbi +9 -0
  104. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  105. data/sorbet/rbi/gems/testcontainers-core@0.2.0.rbi +1005 -0
  106. data/sorbet/rbi/gems/testcontainers-postgres@0.2.0.rbi +145 -0
  107. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  108. data/sorbet/rbi/gems/timeout@0.4.3.rbi +157 -0
  109. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  110. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  111. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  112. data/sorbet/rbi/gems/websocket-driver@0.8.0.rbi +9 -0
  113. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +9 -0
  114. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  115. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  116. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +9 -0
  117. data/sorbet/tapioca/config.yml +5 -0
  118. data/sorbet/tapioca/require.rb +12 -0
  119. metadata +231 -6
@@ -0,0 +1,145 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `testcontainers-postgres` gem.
5
+ # Please instead update this file by running `bin/tapioca gem testcontainers-postgres`.
6
+
7
+
8
+ # source://testcontainers-postgres//lib/testcontainers/postgres/version.rb#3
9
+ module Testcontainers
10
+ class << self
11
+ # source://testcontainers-core/0.2.0/lib/testcontainers.rb#30
12
+ def logger; end
13
+
14
+ # source://testcontainers-core/0.2.0/lib/testcontainers.rb#28
15
+ def logger=(_arg0); end
16
+ end
17
+ end
18
+
19
+ # source://testcontainers-postgres//lib/testcontainers/postgres/version.rb#4
20
+ module Testcontainers::Postgres; end
21
+
22
+ # source://testcontainers-postgres//lib/testcontainers/postgres/version.rb#5
23
+ Testcontainers::Postgres::VERSION = T.let(T.unsafe(nil), String)
24
+
25
+ # PostgresContainer class is used to manage containers that runs a PostgresQL database
26
+ #
27
+ # @attr_reader username [String] used by the container
28
+ # @attr_reader password [String] used by the container
29
+ # @attr_reader database [String] used by the container
30
+ #
31
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#11
32
+ class Testcontainers::PostgresContainer < ::Testcontainers::DockerContainer
33
+ # Initializes a new instance of PostgresContainer
34
+ #
35
+ # @param image [String] the image to use
36
+ # @param username [String] the username to use
37
+ # @param password [String] the password to use
38
+ # @param database [String] the database to use
39
+ # @param port [String] the port to use
40
+ # @param kwargs [Hash] the options to pass to the container. See {DockerContainer#initialize}
41
+ # @return [PostgresContainer] a new instance of PostgresContainer
42
+ #
43
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#33
44
+ def initialize(image = T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), database: T.unsafe(nil), port: T.unsafe(nil), **kwargs); end
45
+
46
+ # used by the container
47
+ #
48
+ # @return [String] the current value of database
49
+ #
50
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#22
51
+ def database; end
52
+
53
+ # Returns the database url (e.g. postgres://user:password@host:port/database)
54
+ #
55
+ # @param protocol [String] the protocol to use in the string (default: "postgres")
56
+ # @param database [String] the database to use in the string (default: @database)
57
+ # @param options [Hash] the options to use in the query string (default: {})
58
+ # @raise [ConnectionError] If the connection to the Docker daemon fails.
59
+ # @raise [ContainerNotStartedError] If the container has not been started.
60
+ # @return [String] the database url
61
+ #
62
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#66
63
+ def database_url(protocol: T.unsafe(nil), username: T.unsafe(nil), password: T.unsafe(nil), database: T.unsafe(nil), options: T.unsafe(nil)); end
64
+
65
+ # used by the container
66
+ #
67
+ # @return [String] the current value of password
68
+ #
69
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#22
70
+ def password; end
71
+
72
+ # Returns the port used by the container
73
+ #
74
+ # @return [Integer] the port used by the container
75
+ #
76
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#54
77
+ def port; end
78
+
79
+ # Starts the container
80
+ #
81
+ # @return [PostgresContainer] self
82
+ #
83
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#45
84
+ def start; end
85
+
86
+ # used by the container
87
+ #
88
+ # @return [String] the current value of username
89
+ #
90
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#22
91
+ def username; end
92
+
93
+ # Sets the database to use
94
+ #
95
+ # @param database [String] the database to use
96
+ # @return [PostgresContainer] self
97
+ #
98
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#79
99
+ def with_database(database); end
100
+
101
+ # Sets the password to use
102
+ #
103
+ # @param password [String] the password to use
104
+ # @return [PostgresContainer] self
105
+ #
106
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#97
107
+ def with_password(password); end
108
+
109
+ # Sets the username to use
110
+ #
111
+ # @param username [String] the username to use
112
+ # @return [PostgresContainer] self
113
+ #
114
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#88
115
+ def with_username(username); end
116
+
117
+ private
118
+
119
+ # @raise [ContainerLaunchException]
120
+ #
121
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#104
122
+ def _configure; end
123
+
124
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#114
125
+ def _default_healthcheck_options; end
126
+ end
127
+
128
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#20
129
+ Testcontainers::PostgresContainer::POSTGRES_DEFAULT_DATABASE = T.let(T.unsafe(nil), String)
130
+
131
+ # Default image used by the container
132
+ #
133
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#16
134
+ Testcontainers::PostgresContainer::POSTGRES_DEFAULT_IMAGE = T.let(T.unsafe(nil), String)
135
+
136
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#19
137
+ Testcontainers::PostgresContainer::POSTGRES_DEFAULT_PASSWORD = T.let(T.unsafe(nil), String)
138
+
139
+ # Default port used by the container
140
+ #
141
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#13
142
+ Testcontainers::PostgresContainer::POSTGRES_DEFAULT_PORT = T.let(T.unsafe(nil), Integer)
143
+
144
+ # source://testcontainers-postgres//lib/testcontainers/postgres.rb#18
145
+ Testcontainers::PostgresContainer::POSTGRES_DEFAULT_USERNAME = T.let(T.unsafe(nil), String)