Module: SimpleMaster::Master::Validatable
- Extended by:
- ActiveSupport::Concern
- Included in:
- SimpleMaster::Master
- Defined in:
- lib/simple_master/master/validatable.rb
Instance Method Summary collapse
- #_run_validate_callbacks ⇒ Object
- #errors ⇒ Object
- #read_attribute_for_validation(attribute) ⇒ Object
- #run_proc_or_call(symbol_or_proc) ⇒ Object
-
#valid? ⇒ Boolean
: () -> bool.
- #validate ⇒ Object
Instance Method Details
#_run_validate_callbacks ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/simple_master/master/validatable.rb', line 57 def _run_validate_callbacks self.class._validate_callbacks.each do |validation_proc| instance_exec(&validation_proc) rescue => e errors.add(:base, "Error occurred while validation: #{e}") end end |
#errors ⇒ Object
65 66 67 68 |
# File 'lib/simple_master/master/validatable.rb', line 65 def errors Thread.current[:errors] ||= {} Thread.current[:errors][self] ||= Errors.new end |
#read_attribute_for_validation(attribute) ⇒ Object
76 77 78 |
# File 'lib/simple_master/master/validatable.rb', line 76 def read_attribute_for_validation(attribute) send(attribute) end |
#run_proc_or_call(symbol_or_proc) ⇒ Object
70 71 72 73 74 |
# File 'lib/simple_master/master/validatable.rb', line 70 def run_proc_or_call(symbol_or_proc) return send(symbol_or_proc) if symbol_or_proc.is_a? Symbol return instance_eval(&symbol_or_proc) if symbol_or_proc.arity == 1 instance_exec(&symbol_or_proc) end |
#valid? ⇒ Boolean
: () -> bool
46 47 48 49 50 |
# File 'lib/simple_master/master/validatable.rb', line 46 def valid? _run_validate_callbacks # Refer directly instead of errors.empty? to avoid creating many errors objects !Thread.current[:errors]&.[](self).present? end |
#validate ⇒ Object
53 54 55 |
# File 'lib/simple_master/master/validatable.rb', line 53 def validate _run_validate_callbacks end |