reactive-record 0.7.17 → 0.7.18

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
  SHA1:
3
- metadata.gz: 906f180ce48df5a17368e98b8fc2dd12cadbe37f
4
- data.tar.gz: 40966ab4582c08edd15d88625dd5de102ea8cfc0
3
+ metadata.gz: 7767643d2625ad16929d2179c33f286d67f841cc
4
+ data.tar.gz: 4f717b2c85e11fd7e8eaf793092000c944ba67b5
5
5
  SHA512:
6
- metadata.gz: 955d731a1ebf9cbaa76cf0ea44ef7e7cd9b1598b5e7662f28057055c4590de02b7bf9431e00f33cbb6733299bde1ecbf1cea2cff9d85b46fcd9f821f7bdf4e2a
7
- data.tar.gz: 2f6bf61dfdfefcf9f90ef9a2b615612ef0014cbb1820b6103d28964a6f3058fad8606cce5be9f64ee45d7af4eab1fb682501d47a1e568d764813247b6b0171e1
6
+ metadata.gz: 1537f31bcbed3cd4b14d254e4077c5de1fd1e9cba2b89548bd65b41877aa353913b8cab4e09e944dde038ac950a1b83a37253e2490df12b079bfff918198b01e
7
+ data.tar.gz: 6f8beda7d146de1915604aca96f7ea8a35799ae7a990e5b436c60747bc50a4d80146ce2a5ef06bb3b0c9c070bc0a8f21d32c88295b19395a38e8cb5bbb22f5e8
@@ -74,7 +74,7 @@ module ActiveRecord
74
74
  end
75
75
 
76
76
  def save(opts = {}, &block)
77
- @backing_record.save(opts[:validate], &block)
77
+ @backing_record.save(opts.has_key?(:validate) ? opts[:validate] : true, &block)
78
78
  end
79
79
 
80
80
  def saving?
@@ -292,6 +292,7 @@ module ReactiveRecord
292
292
  end
293
293
 
294
294
  def errors!(errors)
295
+ @saving = false
295
296
  @errors = errors and ActiveModel::Error.new(errors)
296
297
  end
297
298
 
@@ -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 = vector.count == 0 ? [target_klass] : 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
- begin
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 = [@ar_object])
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
@@ -1,3 +1,3 @@
1
1
  module ReactiveRecord
2
- VERSION = "0.7.17"
2
+ VERSION = "0.7.18"
3
3
  end
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.17
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-22 00:00:00.000000000 Z
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails