at_least_one_existence_validator 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []