isomorfeus-data 2.0.10 → 2.0.14

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: bbfa143159bc482e9bc1de4131ef8e2dc0af7e339ca533cc30c86ff2c17f519b
4
- data.tar.gz: 96af3611a0f1abc8bf1460f913152dd824b658351c90b0e7a97c80ebe7ecc24b
3
+ metadata.gz: e68bc3d36d060b292a30c83f236379c62f71d7d55846f8fdb382d07d234c9e01
4
+ data.tar.gz: 93f57c4544edf248ef534fce95628593af22e5795d462405e8c0d7a1c2a3c5b7
5
5
  SHA512:
6
- metadata.gz: fdbb101a62bba32df9830f25490b18d222dcbd8cef0aae43053c64c2891f5cd16d2b8adf3f121732347c747b15c989deb882df9a97e7c54fa05b6c3e786bc62f
7
- data.tar.gz: 8556bcdf6f9364bfdcd029dc628ef840b9deded43247c89f5f519eba182516df887d1320e9036b72b68860f3765a5918f2a7932f6110e2da3cd8857e53795210
6
+ metadata.gz: a4856f793800218b6210be73da3c88d073866b26a7b5eabdd458d73694f619d23f116ff092f5447adae76aa48c8d8b4fda5dfdb9722d03880613e6780cd3175b
7
+ data.tar.gz: decf52fb3c0ee86a62a3ed08a5bc5ba466cb7cffd5546231cbe5f64d4c0abc8f65525251c83014879430a173047a589a9143ecc5586b37b5a82b73e03bb8521f
@@ -1,12 +1,12 @@
1
1
  module Isomorfeus
2
2
  # available settings
3
3
  class << self
4
- def instance_from_sid(sid)
5
- data_class = cached_data_class(sid[0])
6
- data_class.new(key: sid[1])
7
- end
8
-
9
4
  if RUBY_ENGINE == 'opal'
5
+ def instance_from_sid(sid)
6
+ data_class = cached_data_class(sid[0])
7
+ data_class.new(key: sid[1], _loading: true)
8
+ end
9
+
10
10
  def cached_data_classes
11
11
  @cached_data_classes ||= `{}`
12
12
  end
@@ -17,6 +17,11 @@ module Isomorfeus
17
17
  cached_data_classes.JS[class_name] = "::#{class_name}".constantize
18
18
  end
19
19
  else
20
+ def instance_from_sid(sid)
21
+ data_class = cached_data_class(sid[0])
22
+ data_class.new(key: sid[1])
23
+ end
24
+
20
25
  def cached_data_classes
21
26
  @cached_data_classes ||= {}
22
27
  end
@@ -9,15 +9,9 @@ module Isomorfeus
9
9
 
10
10
  def promise_destroy(key:)
11
11
  Isomorfeus::Transport.promise_send_path( 'Isomorfeus::Data::Handler::Generic', self.name, :destroy, key: key).then do |agent|
12
- if agent.processed
13
- agent.result
14
- else
15
- agent.processed = true
16
- if agent.response.key?(:error)
17
- Isomorfeus.raise_error(message: agent.response[:error])
18
- end
12
+ agent.process do
19
13
  Isomorfeus.store.dispatch(type: 'DATA_DESTROY', data: [self.name, key])
20
- agent.result = true
14
+ true
21
15
  end
22
16
  end
23
17
  end
@@ -46,16 +40,10 @@ module Isomorfeus
46
40
  def promise_load!(key:, instance: nil)
47
41
  instance = self.new(key: key, _loading: true) unless instance
48
42
  Isomorfeus::Transport.promise_send_path( 'Isomorfeus::Data::Handler::Generic', self.name, :load, key: key).then do |agent|
49
- if agent.processed
50
- agent.result
51
- else
52
- agent.processed = true
53
- if agent.response.key?(:error)
54
- Isomorfeus.raise_error(message: agent.response[:error])
55
- end
43
+ agent.process do
56
44
  instance._load_from_store!
57
45
  Isomorfeus.store.dispatch(type: 'DATA_LOAD', data: agent.full_response[:data])
58
- agent.result = instance
46
+ instance
59
47
  end
60
48
  end
61
49
  end
@@ -40,14 +40,8 @@ module Isomorfeus
40
40
  data_hash.deep_merge!(included_items: included_items_to_transport) if respond_to?(:included_items_to_transport)
41
41
  class_name = self.class.name
42
42
  Isomorfeus::Transport.promise_send_path( 'Isomorfeus::Data::Handler::Generic', class_name, :create, data_hash).then do |agent|
43
- if agent.processed
44
- agent.result
45
- else
46
- agent.processed = true
47
- if agent.response.key?(:error)
48
- Isomorfeus.raise_error(message: agent.response[:error])
49
- end
50
- data = agent.full_response[:data]
43
+ agent.process do |agnt|
44
+ data = agnt.full_response[:data]
51
45
  if data.key?(class_name) && data[class_name].key?(@key) && data[class_name][@key].key?('new_key')
52
46
  @key = data[class_name][@key]['new_key']
53
47
  @revision = data[class_name][@key]['revision'] if data[class_name][@key].key?('revision')
@@ -55,7 +49,7 @@ module Isomorfeus
55
49
  end
56
50
  _load_from_store!
57
51
  Isomorfeus.store.dispatch(type: 'DATA_LOAD', data: data)
58
- agent.result = self
52
+ self
59
53
  end
60
54
  end
61
55
  end
@@ -88,14 +82,8 @@ module Isomorfeus
88
82
  data_hash.deep_merge!(included_items: included_items_to_transport) if respond_to?(:included_items_to_transport)
89
83
  class_name = self.class.name
90
84
  Isomorfeus::Transport.promise_send_path( 'Isomorfeus::Data::Handler::Generic', class_name, :save, data_hash).then do |agent|
91
- if agent.processed
92
- agent.result
93
- else
94
- agent.processed = true
95
- if agent.response.key?(:error)
96
- Isomorfeus.raise_error(message: agent.response[:error])
97
- end
98
- data = agent.full_response[:data]
85
+ agent.process do |agnt|
86
+ data = agnt.full_response[:data]
99
87
  if data.key?(class_name) && data[class_name].key?(@key) && data[class_name][@key].key?('new_key')
100
88
  @key = data[class_name][@key]['new_key']
101
89
  @revision = data[class_name][@key]['revision'] if data[class_name][@key].key?('revision')
@@ -103,7 +91,7 @@ module Isomorfeus
103
91
  end
104
92
  _load_from_store!
105
93
  Isomorfeus.store.dispatch(type: 'DATA_LOAD', data: data)
106
- agent.result = self
94
+ self
107
95
  end
108
96
  end
109
97
  end
@@ -77,6 +77,12 @@ module Isomorfeus
77
77
  @index_db.put(key, val)
78
78
  end
79
79
 
80
+ def each(&block)
81
+ @db.each do |key, obj|
82
+ block.call(Isomorfeus::Hamster::Marshal.unserialize(obj))
83
+ end
84
+ end
85
+
80
86
  def search(val_key, &block)
81
87
  @index_db.each_value(val_key, &block)
82
88
  end
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Data
3
- VERSION = '2.0.10'
3
+ VERSION = '2.0.14'
4
4
  end
5
5
  end
@@ -121,14 +121,20 @@ module LucidObject
121
121
  end
122
122
  end
123
123
  else
124
- attr_s = ":[#{attr}]"
125
- accept_all_attr = attr_s == ":[*]" ? true : false
126
- self.hamster_storage_expander.search(":[:#{val}:]:") do |sid_s_attr|
127
- if accept_all_attr || sid_s_attr.end_with?(attr_s)
128
- sid_s = sid_s_attr.split(':|:[')[0]
129
- obj = self.load(key: sid_s)
124
+ if val == '*'
125
+ self.hamster_storage_expander.each do |obj|
130
126
  objs << obj if obj
131
127
  end
128
+ else
129
+ attr_s = ":[#{attr}]"
130
+ accept_all_attr = attr_s == ":[*]" ? true : false
131
+ self.hamster_storage_expander.search(":[:#{val}:]:") do |sid_s_attr|
132
+ if accept_all_attr || sid_s_attr.end_with?(attr_s)
133
+ sid_s = sid_s_attr.split(':|:[')[0]
134
+ obj = self.load(key: sid_s)
135
+ objs << obj if obj
136
+ end
137
+ end
132
138
  end
133
139
  end
134
140
  objs
@@ -23,16 +23,10 @@ module LucidQuery
23
23
  props = validated_props(props)
24
24
  props[:key] = query_result_instance.key
25
25
  Isomorfeus::Transport.promise_send_path( 'Isomorfeus::Data::Handler::Generic', self.name, :query, props).then do |agent|
26
- if agent.processed
27
- agent.result
28
- else
29
- agent.processed = true
30
- if agent.response.key?(:error)
31
- Isomorfeus.raise_error(message: agent.response[:error])
32
- end
26
+ agent.process do
33
27
  query_result_instance._load_from_store!
34
28
  Isomorfeus.store.dispatch(type: 'DATA_LOAD', data: agent.full_response[:data])
35
- agent.result = query_result_instance
29
+ query_result_instance
36
30
  end
37
31
  end
38
32
  end
@@ -14,7 +14,7 @@ class LucidQueryResult
14
14
  end
15
15
 
16
16
  if RUBY_ENGINE == 'opal'
17
- def initialize(key: nil, result_set: nil)
17
+ def initialize(key: nil, result_set: nil, _loading: false)
18
18
  @class_name = 'LucidQueryResult'
19
19
  @key = key ? key.to_s : self.object_id.to_s
20
20
  @result_set = result_set
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.10
4
+ version: 2.0.14
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-01-26 00:00:00.000000000 Z
11
+ date: 2022-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.14.6
75
+ version: 0.14.8
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.14.6
82
+ version: 0.14.8
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: isomorfeus-ferret
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.6.1
103
+ version: 0.6.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.6.1
110
+ version: 0.6.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: isomorfeus-preact
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 10.6.14
117
+ version: 10.6.25
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.14
124
+ version: 10.6.25
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.10
145
+ version: 2.0.14
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.10
152
+ version: 2.0.14
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.10
159
+ version: 2.0.14
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.10
166
+ version: 2.0.14
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement