Class: Attestor::Validations::Validators
- Inherits:
-
Object
- Object
- Attestor::Validations::Validators
- Includes:
- Reporter, Enumerable
- Defined in:
- lib/attestor/validations/validators.rb
Instance Method Summary collapse
- #add_delegator(*args, &block) ⇒ Object
- #add_validator(*args, &block) ⇒ Object
- #each ⇒ Object
-
#initialize(*items) ⇒ Validators
constructor
A new instance of Validators.
- #set(context) ⇒ Object
- #validate!(object) ⇒ Object
Methods included from Reporter
Constructor Details
#initialize(*items) ⇒ Validators
Returns a new instance of Validators.
12 13 14 15 |
# File 'lib/attestor/validations/validators.rb', line 12 def initialize(*items) @items = items.flatten freeze end |
Instance Method Details
#add_delegator(*args, &block) ⇒ Object
29 30 31 |
# File 'lib/attestor/validations/validators.rb', line 29 def add_delegator(*args, &block) self.class.new items, Delegator.new(*args, &block) end |
#add_validator(*args, &block) ⇒ Object
25 26 27 |
# File 'lib/attestor/validations/validators.rb', line 25 def add_validator(*args, &block) self.class.new items, Validator.new(*args, &block) end |
#each ⇒ Object
17 18 19 |
# File 'lib/attestor/validations/validators.rb', line 17 def each block_given? ? items.each { |item| yield(item) } : to_enum end |
#set(context) ⇒ Object
21 22 23 |
# File 'lib/attestor/validations/validators.rb', line 21 def set(context) self.class.new select { |item| item.used_in_context? context } end |
#validate!(object) ⇒ Object
33 34 35 36 37 |
# File 'lib/attestor/validations/validators.rb', line 33 def validate!(object) results = errors(object) return if results.empty? fail InvalidError.new object, results.map(&:messages).flatten end |