isomorfeus-data 2.0.15 → 2.0.19

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: 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