ask-state-providers 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 550bf5d05277f2107b94f57c09ec2189184af18ceb820a1538b07a1ed5b3981f
4
- data.tar.gz: 3bb373e4312de695a6e71d76b3557e5933cc97edeae170cf3ff38c1247010c47
3
+ metadata.gz: b4af42039dcfbb213799ab09a162acb60c1e78f1b09cb94e52d9dd2bece7b18c
4
+ data.tar.gz: b0deb44a8f91e0c6cc36dcabf279d822b08386ef49854225b78dc4955cc723b0
5
5
  SHA512:
6
- metadata.gz: 9641c185a5128f8129e28094b8b7c605a5abc458f32685abdb7f121b18991c2eed62e61e37ce29d254e03310c0628f6bb3e98575877887e55e0cd8f0ea55843a
7
- data.tar.gz: 823cd11970169cf011575f498f1c182a6ed1c76053ccf6cc00f28e840f68ab2dd80b84af9ae19dba474c6a250c284ea97ada092ed2d816979ad242c1457499f3
6
+ metadata.gz: 53bf5a675035408f401a354f0ee3c778ac1c23dcd9115d54b192e65ddcd3df7b64a6ff0bf69aa9cc9b879cf7b485ed59ce2a79da15d8cee9b07688b03a66d5b1
7
+ data.tar.gz: '09c163faa51ecfb38db57c93fcd33752213e8cfe4367706167cabf3e54130b88b7b6dfebd9e9ee14571b30ac839418fac3fafa06daccf9ae5729739d4716f7e1'
@@ -182,6 +182,11 @@ module Ask
182
182
 
183
183
  # -- lifecycle --
184
184
 
185
+ # Idempotent setup. No-op for in-memory — data is lost on process exit.
186
+ def setup!
187
+ true
188
+ end
189
+
185
190
  def close
186
191
  @mutex.synchronize do
187
192
  @data.clear
@@ -293,6 +293,12 @@ module Ask
293
293
 
294
294
  # -- lifecycle --
295
295
 
296
+ # Idempotent setup — creates tables if they don't exist.
297
+ # Called automatically on initialize. Safe to call multiple times.
298
+ def setup!
299
+ @pool.with { |conn| conn.exec(MIGRATIONS) }
300
+ end
301
+
296
302
  def close
297
303
  @pool&.shutdown { |c| c.close }
298
304
  end
@@ -143,6 +143,11 @@ module Ask
143
143
 
144
144
  # -- lifecycle --
145
145
 
146
+ # Idempotent setup. No-op for Redis — no schema to create.
147
+ def setup!
148
+ true
149
+ end
150
+
146
151
  def close
147
152
  @redis&.close
148
153
  end
@@ -272,6 +272,14 @@ module Ask
272
272
 
273
273
  # -- lifecycle --
274
274
 
275
+ # Idempotent setup — creates tables if they don't exist.
276
+ # Called automatically on initialize. Safe to call multiple times.
277
+ def setup!
278
+ @mutex.synchronize do
279
+ migrate
280
+ end
281
+ end
282
+
275
283
  def close
276
284
  @mutex.synchronize do
277
285
  @db.close
@@ -3,7 +3,7 @@
3
3
  module Ask
4
4
  module State
5
5
  module Providers
6
- VERSION = "0.3.0"
6
+ VERSION = "0.4.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-state-providers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto