foobara-redis-crud-driver 0.0.2 → 0.0.3

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: cf25e77a560d2155ab62beddc8978dd3be7a4e2d184778b481a5625b11975de9
4
- data.tar.gz: 9d4cce268a25c90f861fc65610e206132bf8bf4417b96afc29402876adda089e
3
+ metadata.gz: db6c81dfe5009f3f778ec4f05b6bd0d6809718ba126fe0dba259c3666e344cd5
4
+ data.tar.gz: e30d4ff3154a4396106550c5ff8c46c00e160b62ec54ec8f93c74cb50d72d850
5
5
  SHA512:
6
- metadata.gz: 9497e3b3d2b1eeb114cf53e9ec5c74982d7b3697014d07611c4fea882d1ce57b285286be1bf289675ada22b2b3650cc8448e9689a16d0a9dd5518d9d345689ff
7
- data.tar.gz: 98f10f54a9b69b77673478e850eaa4745f6b86927a724648f8c8b61a56cf2697e499d8f30d4b28d06067bde5f67afbe72a10404efa5a3442eba2c4a104bc109f
6
+ metadata.gz: 78efec1418b1fca8b349719f3fd4e7777f09460577bb9e1f12e38246a48f35cd65e1957f077c8e64147bbcd68c005c3a0fb9c12dc87d6711904b18863d7d4e55
7
+ data.tar.gz: 60547f0d67c390429179ad01a30e6338667ffe7cd6236fee88ae3bd061fa9ae9a5a3b36a221ccc11b435be29c15a6815134f276a967effebe0499bb2bf9a300f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.0.3] - 2024-11-30
2
+
3
+ - Make use of default crud driver methods
4
+
1
5
  ## [0.0.2] - 2024-11-22
2
6
 
3
7
  - Make sure JSON is available
@@ -38,22 +38,6 @@ module Foobara
38
38
  end
39
39
  end
40
40
 
41
- # We don't make use of Redis transaction feature here because they are do not really work
42
- # like database transactions which is what this feature is based on. We might want to use database transactions
43
- # in some sort of flush feature though.
44
- def open_transaction
45
- # Should we have some kind of fake transaction object that raises errors when used after rolledback/closed?
46
- Object.new
47
- end
48
-
49
- def close_transaction(_raw_tx)
50
- end
51
-
52
- def rollback_transaction(_raw_tx)
53
- # nothing to do... except maybe enter a state where we don't flush anything else
54
- # but can just rely on higher-up plumbing for that
55
- end
56
-
57
41
  class Table < Persistence::EntityAttributesCrudDriver::Table
58
42
  def initialize(...)
59
43
  super
@@ -67,30 +51,10 @@ module Foobara
67
51
  end
68
52
  end
69
53
 
70
- def prefix
71
- crud_driver.prefix
72
- end
73
-
74
54
  def get_id
75
55
  redis.incr(sequence_key)
76
56
  end
77
57
 
78
- def sequence_key
79
- @sequence_key ||= "#{entity_key_prefix}$sequence"
80
- end
81
-
82
- def primary_keys_index_key
83
- @primary_keys_index_key ||= "#{entity_key_prefix}$all"
84
- end
85
-
86
- def entity_key_prefix
87
- @entity_key_prefix ||= [*prefix, table_name].join(":")
88
- end
89
-
90
- def record_key_prefix(record_id)
91
- "#{entity_key_prefix}:#{record_id}"
92
- end
93
-
94
58
  def all
95
59
  Enumerator.new do |yielder|
96
60
  batches_of_primary_keys.each do |batch|
@@ -198,6 +162,26 @@ module Foobara
198
162
 
199
163
  private
200
164
 
165
+ def prefix
166
+ crud_driver.prefix
167
+ end
168
+
169
+ def sequence_key
170
+ @sequence_key ||= "#{entity_key_prefix}$sequence"
171
+ end
172
+
173
+ def primary_keys_index_key
174
+ @primary_keys_index_key ||= "#{entity_key_prefix}$all"
175
+ end
176
+
177
+ def entity_key_prefix
178
+ @entity_key_prefix ||= [*prefix, table_name].join(":")
179
+ end
180
+
181
+ def record_key_prefix(record_id)
182
+ "#{entity_key_prefix}:#{record_id}"
183
+ end
184
+
201
185
  def redis
202
186
  raw_connection
203
187
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara-redis-crud-driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-23 00:00:00.000000000 Z
11
+ date: 2024-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foobara