object_attorney 2.9.4 → 2.10.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjU4ZTc4YWEwNzcxNGM4NDliNjYzNDQzYmZiMDZmZGEwNzRmMTMyNg==
4
+ NjBlYjkxZTVkYTM4OTdjZTAwNTVjMTM3MjAwNGRlOTg4YTg4NTE0Zg==
5
5
  data.tar.gz: !binary |-
6
- NGYwOWViZGY5MTI5MTAyM2MyMjdlMDA2NDU4NjdkOTFhNzViZTFiYQ==
6
+ ODQ0NTY1NmU5MDBjOTEyNTBkNWI4YjMyYTQ0YWY5YzJmMjUyMzUzZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OWJhNjY2YTljMDAxODk1Nzk5YjBmMDUzNzg2ZjkzMDk3NDE3YmJiZjE5OGNj
10
- NzBmZjRmMjA1YzQzZWM5MmE3ZjIxZTY4NTExYzU4YjE1NmEzNzRkNDM1MGUw
11
- YjYzM2QwZWZjYjEzYzM3NDE2ODA0NjNhNDg2MTkzYjgxNjE1YWU=
9
+ OGZhOGIyODdjYzNmMjc3ODgyZmZkMzM2MzUzYzZiMTExZWRmOTczMmUyNDFm
10
+ YjJkNDEyZDNhMzg4OWMwZDNhY2ZjZjQyZDJhMGRhM2NmMWQ2MmNiZTAwYzZm
11
+ MzQ0NGVhYmEwYzgwYWRkOWZkYjMwYTUyMWExYTRjZDkxNTgyNWY=
12
12
  data.tar.gz: !binary |-
13
- ZjVhM2FkMjMxYjM4OTRmNzk3YzhkZGJiZGU0Njg1M2Q1MGY3YzUwMTY5YjNj
14
- MDVhNjRkM2I3YTk3NGE4MDY0NGI2ZWU2OWNmMTk4N2U2OTNkODYyYTk3MGI1
15
- YjkzMTRhYjQwMWRhZDFmNjc3ZGRhYmUzYTc5YjU0ZmFmZWFmYzM=
13
+ MDEwZjdiNmFiZDIzZWZhMDMyMzk3NzRmMDQzNTNiNmQwNjI5NTIyMjQ1ODEx
14
+ MjlkN2ZkNDU1ZmQ0MDU4ZjgwNmZjNjUyMTJmOGQyMDJlYmZkMDM1MzEyYTg3
15
+ Yzc1ZGM1N2MwOTM5OGUzNWZhOTYwYjZhYTliZTg3NmZjYTJmNWI=
@@ -205,8 +205,10 @@ module ObjectAttorney
205
205
  nested_relection = self.class.reflect_on_association(nested_object_name)
206
206
 
207
207
  return [] if nested_relection.options[:existing_records] == false
208
-
209
- return (nested_relection.klass.try(:all) || []) if nested_relection.options[:standalone] == true
208
+
209
+ if nested_relection.options[:standalone] == true
210
+ return nested_relection.has_many? ? (nested_relection.klass.try(:all) || []) : nil
211
+ end
210
212
 
211
213
  existing = represented_object.nil? ? (nested_relection.klass.try(:all) || []) : (represented_object.send(nested_object_name) || (nested_relection.has_many? ? [] : nil))
212
214
 
@@ -1,3 +1,3 @@
1
1
  module ObjectAttorney
2
- VERSION = "2.9.4"
2
+ VERSION = "2.10.1"
3
3
  end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  describe UserAndCommentsForm do
4
4
 
5
- it "1. Creating a 'User' and 'Comment's at the same time." do
5
+ it "1. Creating a 'User' with 'has_many' 'Comment' with any relashionship between them." do
6
6
  params = {
7
7
  user: {
8
8
  email: 'email@gmail.com',
@@ -31,4 +31,26 @@ describe UserAndCommentsForm do
31
31
  comment.body.should == '1'
32
32
  end
33
33
 
34
+ it "2. Creating a 'User' with 'has_one' 'Address' with any relashionship between them." do
35
+ params = {
36
+ user: {
37
+ email: 'email@gmail.com',
38
+ address_attributes: { street: "street1" }
39
+ }
40
+ }
41
+
42
+ user_form = described_class.new(params[:user])
43
+
44
+ user_form.save.should == true
45
+
46
+ User.all.count.should == 1
47
+ user = User.first
48
+ user.email.should == 'email@gmail.com'
49
+
50
+ Address.all.count.should == 1
51
+
52
+ address = Address.find(1)
53
+ address.street.should == 'street1'
54
+ end
55
+
34
56
  end
@@ -6,4 +6,6 @@ class UserAndCommentsForm
6
6
 
7
7
  has_many :comments, class_name: CommentForm, standalone: true
8
8
 
9
+ has_one :address, standalone: true
10
+
9
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: object_attorney
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.4
4
+ version: 2.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - João Gonçalves