reactive-record 0.7.38 → 0.7.39

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: 6f77d2366d23cd6c8049d86b02edd7a82d5723a2
4
- data.tar.gz: dcfd1e30f5e78ef0ff210ba0593eead0ed31d254
3
+ metadata.gz: 38627e5aff47130857117db10b665d62df420ddd
4
+ data.tar.gz: d5f8d93a888c7ac27a7032f020ca784553b1dceb
5
5
  SHA512:
6
- metadata.gz: 4f27b71db22686152ef9638caa65322735ce29901a2122f233bc76f6b6253baea37d4d36e498b9159698d792b64cf5ddae783693e1e9b47c63157acf12c843f8
7
- data.tar.gz: ef7a46308444d4793973002f35dbefbf4674675164dd65bc459b0304f6d363117fc7e79621d0dc3f5c3bcd8e14ef3f8b7e9ebd1274c1fa2bca17b46c5b1707cf
6
+ metadata.gz: 11dcbafdbb5d8bc1d9c00586c38ea6bb15726d6045ab18a75ff622f087c18c76755899dce2fe6e5a2f5cf424d3b05e23b73b8beb3a4127a07b3782a1e1f4e9b3
7
+ data.tar.gz: 47c7b2bf0db583da4940395dbe9c3fc476892bebd04697335a9a38a9a6b1e6c0b3eb9f93447e5020b18acf66db88707a928803bcc1b7faa1126973ae152b3923
@@ -16,27 +16,6 @@ if RUBY_ENGINE == 'opal'
16
16
 
17
17
  else
18
18
 
19
- module ::ActiveRecord
20
- module Core
21
- module ClassMethods
22
- def inherited(child_class)
23
- begin
24
- file = Rails.root.join('app','models',"#{child_class.name.underscore}.rb").to_s rescue nil
25
- begin
26
- require file
27
- rescue LoadError
28
- end
29
- # from active record:
30
- child_class.initialize_find_by_cache
31
- rescue
32
- end
33
- super
34
- end
35
- end
36
- end
37
- end
38
-
39
-
40
19
  require "opal"
41
20
  require "reactive_record/version"
42
21
  require "reactive_record/permissions"
@@ -49,6 +49,10 @@ module ActiveRecord
49
49
  base_class.instance_eval {ReactiveRecord::Base.find(self, opts.first.first, opts.first.last)}
50
50
  end
51
51
 
52
+ def enum(*args)
53
+ # when we implement schema validation we should also implement value checking
54
+ end
55
+
52
56
  def method_missing(name, *args, &block)
53
57
  if args.count == 1 && name =~ /^find_by_/ && !block
54
58
  find_by(name.gsub(/^find_by_/, "") => args[0])
@@ -370,6 +370,10 @@ module ReactiveRecord
370
370
  end
371
371
  end
372
372
 
373
+ def self.is_enum?(record, key)
374
+ record.class.respond_to?(:defined_enums) && record.class.defined_enums[key]
375
+ end
376
+
373
377
  def self.save_records(models, associations, acting_user, validate, save)
374
378
  reactive_records = {}
375
379
  vectors = {}
@@ -394,7 +398,9 @@ module ReactiveRecord
394
398
  # we have an already exising activerecord model
395
399
  keys = record.attributes.keys
396
400
  attributes.each do |key, value|
397
- if keys.include? key
401
+ if is_enum?(record, key)
402
+ record.send("#{key}=",value)
403
+ elsif keys.include? key
398
404
  record[key] = value
399
405
  elsif !value.nil? and aggregation = record.class.reflect_on_aggregation(key.to_sym) and !(aggregation.klass < ActiveRecord::Base)
400
406
  aggregation.mapping.each_with_index do |pair, i|
@@ -411,7 +417,9 @@ module ReactiveRecord
411
417
  dont_save_list << record unless save
412
418
  keys = record.attributes.keys
413
419
  attributes.each do |key, value|
414
- if keys.include? key
420
+ if is_enum?(record, key)
421
+ record.send("#{key}=",value)
422
+ elsif keys.include? key
415
423
  record[key] = value
416
424
  elsif !value.nil? and aggregation = record.class.reflect_on_aggregation(key) and !(aggregation.klass < ActiveRecord::Base)
417
425
  aggregation.mapping.each_with_index do |pair, i|
@@ -1,3 +1,3 @@
1
1
  module ReactiveRecord
2
- VERSION = "0.7.38"
2
+ VERSION = "0.7.39"
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.38
4
+ version: 0.7.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitch VanDuyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails