Class: Formeze::Validation
- Inherits:
-
Object
- Object
- Formeze::Validation
- Defined in:
- lib/formeze.rb
Instance Method Summary collapse
- #error_key ⇒ Object
- #error_message ⇒ Object
-
#initialize(field, options, &block) ⇒ Validation
constructor
A new instance of Validation.
- #validate(form) ⇒ Object
- #validates?(form) ⇒ Boolean
- #value?(form) ⇒ Boolean
Constructor Details
#initialize(field, options, &block) ⇒ Validation
Returns a new instance of Validation.
151 152 153 |
# File 'lib/formeze.rb', line 151 def initialize(field, , &block) @field, @options, @block = field, , block end |
Instance Method Details
#error_key ⇒ Object
155 156 157 |
# File 'lib/formeze.rb', line 155 def error_key @options.fetch(:error) { :invalid } end |
#error_message ⇒ Object
159 160 161 |
# File 'lib/formeze.rb', line 159 def Formeze.translate(error_key, :scope => [:formeze, :errors], :default => 'is invalid') end |
#validate(form) ⇒ Object
171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/formeze.rb', line 171 def validate(form) if validates?(form) && value?(form) return_value = if @block.arity == 1 @block.call(form.send(@field.name)) else form.instance_eval(&@block) end form.add_error(@field, ) unless return_value end end |
#validates?(form) ⇒ Boolean
163 164 165 |
# File 'lib/formeze.rb', line 163 def validates?(form) @options.has_key?(:when) ? form.instance_eval(&@options[:when]) : true end |
#value?(form) ⇒ Boolean
167 168 169 |
# File 'lib/formeze.rb', line 167 def value?(form) form.send(@field.name) =~ /\S/ end |