object_attorney 2.10.12 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +48 -17
- data/.rubocop.yml +19 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +0 -13
- data/Gemfile.lock +83 -0
- data/README.md +25 -18
- data/Rakefile +7 -16
- data/lib/object_attorney.rb +57 -44
- data/lib/object_attorney/accusation.rb +46 -0
- data/lib/object_attorney/allegation.rb +20 -0
- data/lib/object_attorney/base.rb +17 -0
- data/lib/object_attorney/class_methods.rb +50 -0
- data/lib/object_attorney/errors.rb +32 -0
- data/lib/object_attorney/helpers.rb +22 -21
- data/lib/object_attorney/validations/custom.rb +23 -0
- data/lib/object_attorney/version.rb +3 -1
- data/object_attorney.gemspec +24 -17
- data/spec/object_attorney/base_spec.rb +21 -0
- data/spec/object_attorney/custom_validation_spec.rb +60 -0
- data/spec/object_attorney/object_attorney_spec.rb +64 -0
- data/spec/spec_helper.rb +17 -56
- data/spec/support/post.rb +7 -0
- data/spec/support/user.rb +5 -0
- metadata +102 -127
- data/.rvmrc +0 -1
- data/Guardfile +0 -5
- data/console.rb +0 -36
- data/db/migrate/20131205114000_create_users.rb +0 -13
- data/db/migrate/20131205114900_create_posts.rb +0 -14
- data/db/migrate/20131205114901_create_comments.rb +0 -13
- data/db/migrate/20131205114902_create_addresses.rb +0 -14
- data/db/schema.rb +0 -22
- data/lib/object_attorney/association_reflection.rb +0 -72
- data/lib/object_attorney/attribute_assignment.rb +0 -69
- data/lib/object_attorney/delegation.rb +0 -48
- data/lib/object_attorney/naming.rb +0 -16
- data/lib/object_attorney/nested_objects.rb +0 -311
- data/lib/object_attorney/orm_handlers/smooth_operator.rb +0 -69
- data/lib/object_attorney/record.rb +0 -117
- data/lib/object_attorney/reflection.rb +0 -40
- data/lib/object_attorney/representation.rb +0 -93
- data/lib/object_attorney/serialization.rb +0 -43
- data/lib/object_attorney/translation.rb +0 -25
- data/lib/object_attorney/validations.rb +0 -46
- data/not_used/nested_uniqueness_validator.rb +0 -33
- data/spec/object_attorney/address_form_spec.rb +0 -45
- data/spec/object_attorney/bulk_post_form_spec.rb +0 -52
- data/spec/object_attorney/bulk_posts_allow_only_existing_form_spec.rb +0 -37
- data/spec/object_attorney/bulk_posts_allow_only_new_form_spec.rb +0 -39
- data/spec/object_attorney/bulk_posts_with_form_objects_form_spec.rb +0 -91
- data/spec/object_attorney/delegation_spec.rb +0 -142
- data/spec/object_attorney/nested_objects_spec.rb +0 -63
- data/spec/object_attorney/post_form_spec.rb +0 -154
- data/spec/object_attorney/post_validations_form_spec.rb +0 -46
- data/spec/object_attorney/post_with_comment_form_spec.rb +0 -123
- data/spec/object_attorney/post_with_comment_validations_form_spec.rb +0 -46
- data/spec/object_attorney/post_with_comments_and_address_form_spec.rb +0 -54
- data/spec/object_attorney/post_with_only_existing_comments_form_spec.rb +0 -38
- data/spec/object_attorney/post_with_only_new_comments_form_spec.rb +0 -42
- data/spec/object_attorney/serialization_spec.rb +0 -40
- data/spec/object_attorney/test_spec.rb +0 -23
- data/spec/object_attorney/user_and_comments_form_spec.rb +0 -56
- data/spec/object_attorney/user_form_spec.rb +0 -70
- data/spec/require_helper.rb +0 -32
- data/spec/support/active_model/validations.rb +0 -21
- data/spec/support/database_setup.rb +0 -14
- data/spec/support/form_objects/address_form.rb +0 -9
- data/spec/support/form_objects/bulk_posts_allow_only_existing_form.rb +0 -19
- data/spec/support/form_objects/bulk_posts_allow_only_new_form.rb +0 -19
- data/spec/support/form_objects/bulk_posts_form.rb +0 -27
- data/spec/support/form_objects/bulk_posts_with_form_objects_form.rb +0 -27
- data/spec/support/form_objects/comment_form.rb +0 -11
- data/spec/support/form_objects/post_form.rb +0 -120
- data/spec/support/form_objects/post_validations_form.rb +0 -17
- data/spec/support/form_objects/post_with_comment_form.rb +0 -21
- data/spec/support/form_objects/post_with_comment_validations_form.rb +0 -17
- data/spec/support/form_objects/post_with_comments_and_address_form.rb +0 -13
- data/spec/support/form_objects/post_with_only_existing_comments_form.rb +0 -9
- data/spec/support/form_objects/post_with_only_new_comments_form.rb +0 -9
- data/spec/support/form_objects/user_and_comments_form.rb +0 -11
- data/spec/support/form_objects/user_form.rb +0 -11
- data/spec/support/models/address.rb +0 -5
- data/spec/support/models/comment.rb +0 -5
- data/spec/support/models/post.rb +0 -9
- data/spec/support/models/user.rb +0 -7
@@ -1,17 +0,0 @@
|
|
1
|
-
class PostValidationsForm
|
2
|
-
|
3
|
-
include ObjectAttorney
|
4
|
-
|
5
|
-
represents :post, properties: [:title, :body]
|
6
|
-
|
7
|
-
has_many :comments
|
8
|
-
|
9
|
-
validates_presence_of :title
|
10
|
-
|
11
|
-
def submit
|
12
|
-
post.errors.add(:title, :blank)
|
13
|
-
post.comments.first.errors.add(:body, :blank)
|
14
|
-
false
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module PostWithCommentForm
|
2
|
-
|
3
|
-
class Base < PostForm::Base
|
4
|
-
|
5
|
-
has_many :comments, class_name: CommentForm
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
class Explicit < PostForm::Base
|
10
|
-
|
11
|
-
def build_comment(attributes = {})
|
12
|
-
CommentForm.new(attributes)
|
13
|
-
end
|
14
|
-
|
15
|
-
def existing_comments
|
16
|
-
post.comments.map { |comment| CommentForm.new({}, comment) }
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class PostWithCommentValidationsForm
|
2
|
-
|
3
|
-
include ObjectAttorney
|
4
|
-
|
5
|
-
represents :post, properties: [:title, :body]
|
6
|
-
|
7
|
-
has_many :comments, class_name: CommentForm
|
8
|
-
|
9
|
-
validates_presence_of :title
|
10
|
-
|
11
|
-
def submit
|
12
|
-
post.errors.add(:title, :blank)
|
13
|
-
post.comments.first.errors.add(:body, :blank)
|
14
|
-
false
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
data/spec/support/models/post.rb
DELETED