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