dynabute 0.0.9 → 0.0.10

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: ee655aa7af2e497ec5daffa27f3d83db94448ca0
4
- data.tar.gz: 53f63f96fe4e2e8e494f232ac624443ba8d261c0
3
+ metadata.gz: 855927fb2405931b0b4e9d9ef9964e31edbc4472
4
+ data.tar.gz: 9ffdf3c1530dc7fdb4006b7e9637b32a6ceef5f5
5
5
  SHA512:
6
- metadata.gz: b290630301c4acd651d52347b4c738f0f7a2267a6c65ccf9c05074ac3f9067f9b3ff3899be95e83e27f59420e9cc69682f86fa6767359ffdfd3e9650d577d1d7
7
- data.tar.gz: ea3e0577fff1409935992c06c69795385f9bdda0338c3d42b32744b3f2fdf02b2a9cd8667a4fdd51fea11190bedfc71600a29a4075775f20dd9c4b94d34d8bf2
6
+ metadata.gz: d6a71ac578927b9149d7f87dc7e6e63e3bc9b19ea7b2599c740b0e87ce1cbe880c6cf4c8d0f6c204d09dcfb7126f97e839cc90d21dffa230b581f5ea473f8623
7
+ data.tar.gz: 3f52ff46aea08dcce1fc6b8434f690d318edfe89c969d5331e94eb04591d24dcde5d0ca8e704ac0e8b31484f9739cfc70a8e3b9fece3f4e2c9cda7f454b2b251
@@ -18,6 +18,10 @@ module Dynabute
18
18
  Util.value_class_name(value_type).safe_constantize
19
19
  end
20
20
 
21
+ def self.value_types
22
+ TYPES
23
+ end
24
+
21
25
  def self.<<(records)
22
26
  if records.respond_to? :each
23
27
  records.each {|r| r.update!(target_model: get_parent_class_name) }
@@ -11,10 +11,19 @@ module Dynabute::Values
11
11
  validate Dynabute::Util.nested_attributable_presence_validator(:field_id, :field)
12
12
  validate Dynabute::Util.nested_attributable_presence_validator(:dynabutable_id, :dynabutable)
13
13
  validate Dynabute::Util.nested_attributable_presence_validator(:dynabutable_type, :dynabutable)
14
+ before_create :reject_duplication_for_has_one
14
15
 
15
16
  def value_type
16
17
  field.value_type
17
18
  end
19
+
20
+ private
21
+ def reject_duplication_for_has_one
22
+ return if field.has_many
23
+ return unless self.class.exists?(field_id: field_id, dynabutable_id: dynabutable_id, dynabutable_type: dynabutable_type)
24
+ self.errors[:base] << 'Multiple records for has_one relationship detected'
25
+ throw :abort
26
+ end
18
27
  end
19
28
 
20
29
  end
@@ -1,3 +1,3 @@
1
1
  module Dynabute
2
- VERSION = '0.0.9'
2
+ VERSION = '0.0.10'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynabute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liooo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-30 00:00:00.000000000 Z
11
+ date: 2017-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord