redisize 0.1.2 → 0.1.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: 1dcd0ec61589ecc0a7b6441b224fc47a7a8827c3e63bda9abfa713f59dcb8060
4
- data.tar.gz: f23c60d6e5be1d2356ca21bf42adf932c9b3e4e42b74b5cb0528afd0f562a943
3
+ metadata.gz: f518b11244f545e6dbbd246a4953ee00e85315a9305200c52bfbc1d09359662c
4
+ data.tar.gz: 00f2823251a2351b81cda954070794ad6473fcc0ff5b234ff156f326b991ffa5
5
5
  SHA512:
6
- metadata.gz: df20089630b617bda9bec1dd6140410e0a284461382a402b9cba08b16707f18cc4ad86a1b4b41d0d8092ebc612e2af41c46ee1edee5277c9e850841c60aad56c
7
- data.tar.gz: dceec345d85e24a4ca3e6c655b28e71dffe8227c2aad2861b2461bf4ad9194521c737c79b1c98e428497c95b83152a54dcf6ec44fd02df3c2e8d1719db3cd1ea
6
+ metadata.gz: f0041a03011688e066bc5725fc3cb78fb8c0b8bd32bd58b32560d3c9869382707932e5f31293691d21862fa82983bf40005ccbbacfc6fafadc12e046a10dde99
7
+ data.tar.gz: 316bcd2d0ea078e320188b630b79f9c85e351643acb026ed4b9c460d5f5eb33715373f9188a2578e8f5d0461bf9a16db977e653e08146a7e1d7c771fd936d592
@@ -1,3 +1,3 @@
1
1
  module Redisize
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/redisize.rb CHANGED
@@ -133,7 +133,7 @@ module Redisize
133
133
  end
134
134
 
135
135
  def key_name_for model_name, attrs, type = "meta"
136
- primary_key = model_name.constantize.primary_key
136
+ primary_key = model_name.constantize.primary_key || attrs.keys.first
137
137
  [type, model_name, primary_key, attrs[primary_key].to_s]
138
138
  end
139
139
 
@@ -244,7 +244,7 @@ module Redisize
244
244
  # self -> model instance
245
245
  def redisize_json scheme, &block
246
246
  primary_key = self.class.primary_key
247
- key = ["json", self.class.polymorphic_name, primary_key, self[primary_key].to_s, scheme]
247
+ key = ["json", self.class.polymorphic_base_name, primary_key, self[primary_key].to_s, scheme]
248
248
 
249
249
  # binding.pry
250
250
  redisize_cache_fetch(key, expires_in: 1.week) do
@@ -259,7 +259,7 @@ module Redisize
259
259
  # self -> model instance
260
260
  def deredisize_json scheme, &block
261
261
  primary_key = self.class.primary_key
262
- key = ["json", self.class.polymorphic_name, primary_key, self[primary_key], scheme]
262
+ key = ["json", self.class.polymorphic_base_name, primary_key, self[primary_key], scheme]
263
263
 
264
264
  # binding.pry
265
265
  Redisize.enqueue(:deredisize_json_metas, key)
@@ -267,13 +267,13 @@ module Redisize
267
267
 
268
268
  # self -> model instance
269
269
  def deredisize_model
270
- Redisize.enqueue(:deredisize_model_metas, self.class.polymorphic_name)
270
+ Redisize.enqueue(:deredisize_model_metas, self.class.polymorphic_base_name)
271
271
  end
272
272
 
273
273
  # self -> model instance
274
274
  def reredisize_instance
275
275
  attrs = Redisize.as_json_for(self)
276
- key = Redisize.key_name_for(self.class.polymorphic_name, attrs, "instance")
276
+ key = Redisize.key_name_for(self.class.polymorphic_base_name, attrs, "instance")
277
277
 
278
278
  # binding.pry
279
279
  redisize_cache_write(key, self, expires_in: 1000.years)
@@ -283,13 +283,17 @@ module Redisize
283
283
  # self -> model instance
284
284
  def deredisize_instance
285
285
  attrs = Redisize.as_json_for(self)
286
- key = Redisize.key_name_for(self.class.polymorphic_name, attrs, "instance")
286
+ key = Redisize.key_name_for(self.class.polymorphic_base_name, attrs, "instance")
287
287
 
288
288
  # binding.pry
289
289
  Redisize.enqueue(:deredisize_instance_metas, key)
290
290
  end
291
291
 
292
292
  module ClassMethods
293
+ def polymorphic_base_name
294
+ (base_class.to_s.split("::")[0...-1] + [polymorphic_name]).join("::")
295
+ end
296
+
293
297
  # self -> model class
294
298
  def redisize_sql &block
295
299
  key = ["sql", self.name, self.primary_key, self.all.to_sql]
@@ -308,7 +312,7 @@ module Redisize
308
312
  def redisize_model value, options = {}, &block
309
313
  primary_key = options.fetch(:by_key, self.primary_key).to_s
310
314
  key = ["instance", name, primary_key, value]
311
- metakey = ["meta", self.class.polymorphic_name, primary_key, value]
315
+ metakey = ["meta", self.class.polymorphic_base_name, primary_key, value]
312
316
 
313
317
  # binding.pry
314
318
  redisize_cache_fetch(key, expires_in: 1.week) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redisize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel «Malo» Skrylev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-10 00:00:00.000000000 Z
11
+ date: 2022-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry