isomorfeus-data 2.0.15 → 2.0.19

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: 27bb5ccc056cead1baa3b7403949c7db8a628faa7cf8d8a513335411926888c0
4
- data.tar.gz: a71af1356f899ebe6519b811554cb3f079eedac719a512692830d5cd21df4cda
3
+ metadata.gz: ef3d094c6a7a94a181f67a7222a07a86456ab095866495c8931031f9d77f1538
4
+ data.tar.gz: 74a274d6c6971fa0462349ad04ee39f22cc6a669353381c60670493f82d24ff0
5
5
  SHA512:
6
- metadata.gz: 5ba3f617377f369626ea4da0e4133b3c9d3ce3f08ae93ce2c6502666b41079a9fe600c3e15f701594d81a0aa0d676a4211fb411d8df7e66297dfd2f5dbffe445
7
- data.tar.gz: ba79029ce9b9a613a0e5d2065b80a0b71b6bfcfbb1113695b7580dfecbe2e64379a009f3192e93f43be5e013c5c836b6f72fa2735df2b22fc10b7a83ad5946a8
6
+ metadata.gz: 365a9b1e1b71142b782f241fe4114110b4511adcf03c163613a02e3e0a09f98b9a26aec6d31f9ca840c1a2460c5174d688df82048647e0c450380856c61234d6
7
+ data.tar.gz: 3259cce4fa11bb784ff457feea421adf7f03d804e955f0ecc69bbb9ece009a111e8460c53c0867e887954cfac863f282422227549a64cc6082215cf6e8f28d14
@@ -45,11 +45,12 @@ module Isomorfeus
45
45
  end
46
46
  @db = self.class.environment.database('objects', create: true)
47
47
  @index_db = self.class.environment.database('index', create: true, dupsort: true)
48
+ @use_class_cache = !Isomorfeus.development?
48
49
  ObjectSpace.define_finalizer(self, self.class.finalize(self.class))
49
50
  end
50
51
 
51
52
  def create_object(sid_s, obj)
52
- Isomorfeus::Hamster::Marshal.dump(@db, sid_s, obj)
53
+ Isomorfeus::Hamster::Marshal.dump(@db, sid_s, obj, class_cache: @use_class_cache)
53
54
  end
54
55
 
55
56
  def destroy_object(sid_s)
@@ -58,11 +59,11 @@ module Isomorfeus
58
59
  end
59
60
 
60
61
  def load_object(sid_s)
61
- Isomorfeus::Hamster::Marshal.load(@db, sid_s)
62
+ Isomorfeus::Hamster::Marshal.load(@db, sid_s, class_cache: @use_class_cache)
62
63
  end
63
64
 
64
65
  def save_object(sid_s, obj)
65
- Isomorfeus::Hamster::Marshal.dump(@db, sid_s, obj)
66
+ Isomorfeus::Hamster::Marshal.dump(@db, sid_s, obj, class_cache: @use_class_cache)
66
67
  end
67
68
 
68
69
  def index_delete(key, val)
@@ -79,7 +80,7 @@ module Isomorfeus
79
80
 
80
81
  def each(&block)
81
82
  @db.each do |key, obj|
82
- block.call(Isomorfeus::Hamster::Marshal.unserialize(obj))
83
+ block.call(Isomorfeus::Hamster::Marshal.unserialize(obj, class_cache: @use_class_cache))
83
84
  end
84
85
  end
85
86
 
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Data
3
- VERSION = '2.0.15'
3
+ VERSION = '2.0.19'
4
4
  end
5
5
  end
@@ -123,12 +123,12 @@ module LucidObject
123
123
  else
124
124
  if val == '*'
125
125
  self.hamster_storage_expander.each do |obj|
126
- objs << obj if obj
126
+ objs << obj if obj.class == self
127
127
  end
128
128
  else
129
129
  attr_s = ":[#{attr}]"
130
130
  accept_all_attr = attr_s == ":[*]" ? true : false
131
- self.hamster_storage_expander.search(":[:#{val}:]:") do |sid_s_attr|
131
+ self.hamster_storage_expander.search(":[#{self.name}]:|:[:#{val}:]:") do |sid_s_attr|
132
132
  if accept_all_attr || sid_s_attr.end_with?(attr_s)
133
133
  sid_s = sid_s_attr.split(':|:[')[0]
134
134
  obj = self.load(key: sid_s)
@@ -163,7 +163,7 @@ module LucidObject
163
163
  else
164
164
  old_val = self.hamster_storage_expander.index_get("#{sid_s}:|:[#{attr}]")
165
165
  self.hamster_storage_expander.index_delete("#{sid_s}:|:[#{attr}]", old_val)
166
- self.hamster_storage_expander.index_delete(":[:#{old_val}:]:", "#{sid_s}:|:[#{attr}]")
166
+ self.hamster_storage_expander.index_delete(":[#{self.name}]:|:[:#{old_val}:]:", "#{sid_s}:|:[#{attr}]")
167
167
  end
168
168
  end
169
169
  true
@@ -208,10 +208,10 @@ module LucidObject
208
208
  def _store_value_indexed_attribute(attr)
209
209
  old_val = self.class.hamster_storage_expander.index_get("#{self.sid_s}:|:[#{attr}]")
210
210
  self.class.hamster_storage_expander.index_delete("#{self.sid_s}:|:[#{attr}]", old_val)
211
- self.class.hamster_storage_expander.index_delete(":[:#{old_val}:]:", "#{self.sid_s}:|:[#{attr}]")
211
+ self.class.hamster_storage_expander.index_delete(":[#{self.class.name}]:|:[:#{old_val}:]:", "#{self.sid_s}:|:[#{attr}]")
212
212
  val = "#{self.send(attr)}"[0..300]
213
213
  self.class.hamster_storage_expander.index_put("#{self.sid_s}:|:[#{attr}]", val)
214
- self.class.hamster_storage_expander.index_put(":[:#{val}:]:", "#{self.sid_s}:|:[#{attr}]")
214
+ self.class.hamster_storage_expander.index_put(":[#{self.class.name}]:|:[:#{val}:]:", "#{self.sid_s}:|:[#{attr}]")
215
215
  end
216
216
 
217
217
  def _unchange!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.15
4
+ version: 2.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-03 00:00:00.000000000 Z
11
+ date: 2022-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 10.6.26
117
+ version: 10.6.30
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 10.6.26
124
+ version: 10.6.30
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: isomorfeus-redux
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,28 +142,28 @@ dependencies:
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 2.0.15
145
+ version: 2.0.19
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 2.0.15
152
+ version: 2.0.19
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: isomorfeus
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 2.0.15
159
+ version: 2.0.19
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 2.0.15
166
+ version: 2.0.19
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement