isomorfeus-data 2.0.11 → 2.0.15

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: e20dfbc0fffcb6a9dae5dde4a51dc15efe3cee6853e7c06ec0a44832479c3f3b
4
- data.tar.gz: 82f45e897f6afc83cbec00bbd0531ce9ebf86ae2bf54d4c1ebf4ededb857358e
3
+ metadata.gz: 27bb5ccc056cead1baa3b7403949c7db8a628faa7cf8d8a513335411926888c0
4
+ data.tar.gz: a71af1356f899ebe6519b811554cb3f079eedac719a512692830d5cd21df4cda
5
5
  SHA512:
6
- metadata.gz: 72462528f224761d6d4a54f8d1bb54e5943819b5d70469a50abb494d887834292af15408bd9c0f69ce207434f546c585c1ab53031f6b378ec4344170b2798cab
7
- data.tar.gz: 5374484bc35170c9e15c73cbfa9af3c13cda1be7803390ae9763b85ce2e6c6f901f71b165345c36076ee27e0f792e9d9dfb798432f0f396a1fda02a9178be97a
6
+ metadata.gz: 5ba3f617377f369626ea4da0e4133b3c9d3ce3f08ae93ce2c6502666b41079a9fe600c3e15f701594d81a0aa0d676a4211fb411d8df7e66297dfd2f5dbffe445
7
+ data.tar.gz: ba79029ce9b9a613a0e5d2065b80a0b71b6bfcfbb1113695b7580dfecbe2e64379a009f3192e93f43be5e013c5c836b6f72fa2735df2b22fc10b7a83ad5946a8
@@ -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.11'
3
+ VERSION = '2.0.15'
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
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.11
4
+ version: 2.0.15
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-31 00:00:00.000000000 Z
11
+ date: 2022-02-03 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.7
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.7
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.23
117
+ version: 10.6.26
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.23
124
+ version: 10.6.26
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.11
145
+ version: 2.0.15
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.11
152
+ version: 2.0.15
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.11
159
+ version: 2.0.15
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.11
166
+ version: 2.0.15
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement