at_least_one_existence_validator 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3954273706e84504375e65ad52e247d801f4aae8
4
+ data.tar.gz: e395b26ba404d7e974e2416badc71d744d7a44c4
5
+ SHA512:
6
+ metadata.gz: 4f351becc9673be022135f1d32c1c817f1419f95c9e527bc49de68c31dc7fdc916754d578144880bd65d4bf35307bd5e863f3a514c695cad9c1aa198ebf60f06
7
+ data.tar.gz: c48f9bba4b9e782f05122d2e6e6f35abe5433e34d6cfea2b95cb38c6b1e08d4b3ba0eee7b1e69b5d1032fd3a3e56efd401aa25de68f944fbbb619e5ed02fa925
@@ -0,0 +1,17 @@
1
+ require 'active_model/validations'
2
+
3
+ module ActiveModel
4
+ module Validations
5
+ class AtLeastOneExistenceValidator < ActiveModel::EachValidator
6
+ def validate_each(record, attribute, value)
7
+ record.errors.add attribute, :at_least_one if value.all? { |item| item.marked_for_destruction? }
8
+ end
9
+ end
10
+
11
+ module HelperMethods
12
+ def validates_at_least_one_existence_of(*attr_names)
13
+ validates_with AtLeastOneExistenceValidator, _merge_attributes(attr_names)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ require 'active_model/validations/at_least_one_existence_validator'
2
+ require 'active_support/i18n'
3
+
4
+ module AtLeastOneExistenceValidator
5
+ end
6
+
7
+ I18n.load_path += Dir[File.join File.dirname(__FILE__), '..', 'locales', '*.yml']
@@ -0,0 +1,3 @@
1
+ module AtLeastOneExistenceValidator
2
+ VERSION = '0.0.2'
3
+ end
@@ -0,0 +1,4 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ at_least_one: 'must have at least one item.'
@@ -0,0 +1,4 @@
1
+ ru:
2
+ errors:
3
+ messages:
4
+ at_least_one: 'должен иметь, по крайней мере, один элемент.'
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: at_least_one_existence_validator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Valeriy Utyaganov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: |2
42
+ This validator tests whether associated collection is going to be empty
43
+ after saving. It will be passed if at least one association
44
+ of the specified collection will exist. The validator provides
45
+ helper method and default error message.
46
+ email: usawal@gmail.com
47
+ executables: []
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - lib/at_least_one_existence_validator.rb
52
+ - lib/active_model/validations/at_least_one_existence_validator.rb
53
+ - lib/at_least_one_existence_validator/version.rb
54
+ - locales/en.yml
55
+ - locales/ru.yml
56
+ homepage: http://github.com/USAWal/at_least_one_existence_validator
57
+ licenses:
58
+ - MIT
59
+ metadata: {}
60
+ post_install_message: " Thank you for installing!'\n validates_at_least_one_existence_of
61
+ - helper method\n :at_least_one - key for error message
62
+ in i18n \n"
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ - locales
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - '>='
70
+ - !ruby/object:Gem::Version
71
+ version: 1.9.2
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ requirements: []
78
+ rubyforge_project:
79
+ rubygems_version: 2.0.5
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: Validator for associated collection
83
+ test_files: []