foobara-redis-crud-driver 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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