Module: DBViewCTI::Model::CTI::AssociationValidations::ClassMethods
- Defined in:
- lib/db_view_cti/model/cti/association_validations.rb
Instance Method Summary collapse
- #cti_validation_unless_proc ⇒ Object
-
#validate(*args, &block) ⇒ Object
redefine validate to always add :unless proc so we can disable the validations for an object by setting the cti_disable_validations accessor to true.
Instance Method Details
#cti_validation_unless_proc ⇒ Object
46 47 48 49 50 |
# File 'lib/db_view_cti/model/cti/association_validations.rb', line 46 def cti_validation_unless_proc @cti_validation_unless_proc ||= Proc.new do |object| object.respond_to?(:cti_disable_validations) && object.cti_disable_validations end end |
#validate(*args, &block) ⇒ Object
redefine validate to always add :unless proc so we can disable the validations for an object by setting the cti_disable_validations accessor to true
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/db_view_cti/model/cti/association_validations.rb', line 29 def validate(*args, &block) # we specifically don't want to disable balidations belonging to associations. Based on the naming # rails uses, we return immediately in such cases (there must be a cleaner way to do this...) return super if args.first && args.first.to_s =~ /^validate_associated_records_for_/ # rest of implementation insipred by the validate implementation in rails = args..dup return super if [:cti_no_disable] if .key?(:unless) [:unless] = Array([:unless]) [:unless].unshift( cti_validation_unless_proc ) else [:unless] = cti_validation_unless_proc end args << return super(*args, &block) end |