class RubyMotionQuery::RMQ
Public Class Methods
validation()
click to toggle source
@return [Validation]
# File lib/project/ruby_motion_query/rmq_validation.rb, line 5 def self.validation Validation end
Public Instance Methods
clear_validations!()
click to toggle source
@return [RMQ]
# 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()
click to toggle source
@return [Array] of views where validations have failed
# 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()
click to toggle source
@return [Array] of views where validations have not failed
# 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?()
click to toggle source
This method validates all the selected and is responsible for calling invalid/valid events
@return [Boolean] false if any validations fail
# 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={})
click to toggle source
@return [RMQ]
# File lib/project/ruby_motion_query/rmq_validation.rb, line 15 def validates(rule, options={}) selected.each do |view| view.rmq_data.validations << Validation.new(rule, options) end self end
validation()
click to toggle source
@return [Validation]
# File lib/project/ruby_motion_query/rmq_validation.rb, line 10 def validation Validation end
validation_errors()
click to toggle source
@return [Array] of error messages for failed validations
# 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}." rule_message = view.rmq_data.validation_errors[validation.rule_name] || default_error errors.push(rule_message) end end end return errors end