Class: RubyMotionQuery::RMQ
- Defined in:
- lib/project/ruby_motion_query/rmq_validation.rb
Class Method Summary collapse
Instance Method Summary collapse
- #clear_validations! ⇒ RMQ
-
#invalid ⇒ Array
Of views where validations have failed.
-
#valid ⇒ Array
Of views where validations have not failed.
-
#valid? ⇒ Boolean
This method validates all the selected and is responsible for calling invalid/valid events.
- #validates(rule, options = {}) ⇒ RMQ
- #validation ⇒ Validation
-
#validation_errors ⇒ Array
Of error messages for failed validations.
Class Method Details
.validation ⇒ Validation
5 6 7 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 5 def self.validation Validation end |
Instance Method Details
#clear_validations! ⇒ RMQ
23 24 25 26 27 28 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 23 def clear_validations! selected.each do |view| view.rmq_data.validations = [] end self end |
#invalid ⇒ Array
Returns of views where validations have failed.
73 74 75 76 77 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 73 def invalid selected.reject do |view| view.rmq_data.validations.map{ |validation| validation.valid_status }.reduce(:&) end end |
#valid ⇒ Array
Returns of views where validations have not failed.
80 81 82 83 84 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 80 def valid selected.select do |view| view.rmq_data.validations.map{ |validation| validation.valid_status }.reduce(:&) end end |
#valid? ⇒ Boolean
This method validates all the selected and is responsible for calling invalid/valid events
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 34 def valid? result = true selected.each do |view| view.rmq_data.validations.each do |validation| has_events = view.rmq_data.events if validation.valid?(rmq(view).data) if has_events && view.rmq_data.events.has_event?(:valid) view.rmq_data.events[:valid].fire! end else if has_events && view.rmq_data.events.has_event?(:invalid) view.rmq_data.events[:invalid].fire! end result = false end end end return result end |
#validates(rule, options = {}) ⇒ RMQ
15 16 17 18 19 20 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 15 def validates(rule, ={}) selected.each do |view| view.rmq_data.validations << Validation.new(rule, ) end self end |
#validation ⇒ Validation
10 11 12 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 10 def validation Validation end |
#validation_errors ⇒ Array
Returns of error messages for failed validations.
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/project/ruby_motion_query/rmq_validation.rb', line 58 def validation_errors errors = [] selected.each do |view| view.rmq_data.validations.each do |validation| unless validation.valid_status default_error = "Validation Error - input requires valid #{validation.rule_name}." = view.rmq_data.validation_errors[validation.rule_name] || default_error errors.push() end end end return errors end |