reactive-record 0.7.17 → 0.7.18
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 +4 -4
- data/lib/reactive_record/active_record/instance_methods.rb +1 -1
- data/lib/reactive_record/active_record/reactive_record/base.rb +1 -0
- data/lib/reactive_record/active_record/reactive_record/collection.rb +5 -1
- data/lib/reactive_record/active_record/reactive_record/isomorphic_base.rb +2 -6
- data/lib/reactive_record/server_data_cache.rb +12 -2
- data/lib/reactive_record/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7767643d2625ad16929d2179c33f286d67f841cc
|
4
|
+
data.tar.gz: 4f717b2c85e11fd7e8eaf793092000c944ba67b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1537f31bcbed3cd4b14d254e4077c5de1fd1e9cba2b89548bd65b41877aa353913b8cab4e09e944dde038ac950a1b83a37253e2490df12b079bfff918198b01e
|
7
|
+
data.tar.gz: 6f8beda7d146de1915604aca96f7ea8a35799ae7a990e5b436c60747bc50a4d80146ce2a5ef06bb3b0c9c070bc0a8f21d32c88295b19395a38e8cb5bbb22f5e8
|
@@ -8,8 +8,12 @@ module ReactiveRecord
|
|
8
8
|
@target_klass = target_klass
|
9
9
|
if owner and !owner.id and vector.length <= 1
|
10
10
|
@collection = []
|
11
|
+
elsif vector.length > 0
|
12
|
+
@vector = vector
|
13
|
+
elsif owner
|
14
|
+
@vector = owner.instance_variable_get(:@backing_record).vector + [association.attribute]
|
11
15
|
else
|
12
|
-
@vector =
|
16
|
+
@vector = [target_klass]
|
13
17
|
end
|
14
18
|
@scopes = {}
|
15
19
|
end
|
@@ -35,12 +35,7 @@ module ReactiveRecord
|
|
35
35
|
|
36
36
|
isomorphic_method(:fetch_from_db) do |f, vector|
|
37
37
|
# vector must end with either "*all", or be a simple attribute
|
38
|
-
|
39
|
-
f.send_to_server [vector.shift.name, *vector] if RUBY_ENGINE == 'opal'
|
40
|
-
rescue Exception => e
|
41
|
-
`debugger`
|
42
|
-
nil
|
43
|
-
end
|
38
|
+
f.send_to_server [vector.shift.name, *vector] if RUBY_ENGINE == 'opal'
|
44
39
|
f.when_on_server { @server_data_cache[*vector] }
|
45
40
|
end
|
46
41
|
|
@@ -382,6 +377,7 @@ module ReactiveRecord
|
|
382
377
|
|
383
378
|
rescue Exception => e
|
384
379
|
puts "exception #{e}"
|
380
|
+
puts e.backtrace.join("\n")
|
385
381
|
|
386
382
|
{success: false, saved_models: saved_models, message: e.message}
|
387
383
|
|
@@ -99,7 +99,7 @@ module ReactiveRecord
|
|
99
99
|
root = CacheItem.new(@cache, @acting_user, vector[0])
|
100
100
|
vector[1..-1].inject(root) { |cache_item, method| cache_item.apply_method method if cache_item }
|
101
101
|
vector[0] = vector[0].constantize
|
102
|
-
new_items = @cache.select { | cache_item | cache_item.root == root}
|
102
|
+
new_items = @cache.select { | cache_item | cache_item.root == root }
|
103
103
|
@requested_cache_items += new_items
|
104
104
|
new_items.last.value if new_items.last
|
105
105
|
end
|
@@ -208,7 +208,11 @@ module ReactiveRecord
|
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
211
|
-
def as_hash(children =
|
211
|
+
def as_hash(children = nil)
|
212
|
+
unless children
|
213
|
+
return {} if @ar_object.is_a?(Class) and (@ar_object < ActiveRecord::Base)
|
214
|
+
children = [@ar_object]
|
215
|
+
end
|
212
216
|
if @parent
|
213
217
|
if method == "*"
|
214
218
|
if @ar_object.is_a? Array # this happens when a scope is empty there is test case, but
|
@@ -237,6 +241,12 @@ module ReactiveRecord
|
|
237
241
|
|
238
242
|
def self.load_from_json(tree, target = nil)
|
239
243
|
ignore_all = nil
|
244
|
+
|
245
|
+
# have to process *all before any other items
|
246
|
+
if sorted_collection = tree.delete("*all")
|
247
|
+
target.replace sorted_collection.collect { |id| target.proxy_association.klass.find(id) }
|
248
|
+
end
|
249
|
+
|
240
250
|
tree.each do |method, value|
|
241
251
|
method = JSON.parse(method) rescue method
|
242
252
|
new_target = nil
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reactive-record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitch VanDuyn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|