Class: HaveAPI::Validators::Presence
- Inherits:
-
HaveAPI::Validator
- Object
- HaveAPI::Validator
- HaveAPI::Validators::Presence
- Defined in:
- lib/haveapi/validators/presence.rb
Overview
Checks the value is present and not empty.
Short form:
string :param, required: true
Full form:
string :param, required: {
empty: true/false,
message: 'the error message'
}
Instance Attribute Summary
Attributes inherited from HaveAPI::Validator
Instance Method Summary collapse
Methods inherited from HaveAPI::Validator
#initialize, name, #reconfigure, takes, use, use?, #useful?, #validate
Constructor Details
This class inherits a constructor from HaveAPI::Validator
Instance Method Details
#describe ⇒ Object
30 31 32 33 34 35 |
# File 'lib/haveapi/validators/presence.rb', line 30 def describe { empty: @empty, message: HaveAPI.localize(@message) } end |
#setup ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/haveapi/validators/presence.rb', line 18 def setup return useless if simple? && !take @empty = take(:empty, false) @message = take( :message, HaveAPI.( @empty ? 'haveapi.validators.presence.present' : 'haveapi.validators.presence.non_empty' ) ) end |
#valid?(v) ⇒ Boolean
37 38 39 40 41 42 43 |
# File 'lib/haveapi/validators/presence.rb', line 37 def valid?(v) return false if v.nil? return !v.strip.empty? if !@empty && v.is_a?(::String) return !v.empty? if !@empty && v.respond_to?(:empty?) true end |