module Sequel::Plugins::ClassTableInheritanceConstraintValidations::ClassMethods
Private Instance Methods
Source
# File lib/sequel/plugins/class_table_inheritance_constraint_validations.rb 56 def inherited(subclass) 57 super 58 59 # constraint_validations will parse_constraint_validations in the 60 # classes after_set_dataset hook. That runs before cti_tables are 61 # updated for subclasses in class_table_inheritance's inherited 62 # so re-parsing them here. 63 subclass.send(:parse_constraint_validations) 64 end
Calls superclass method
Source
# File lib/sequel/plugins/class_table_inheritance_constraint_validations.rb 66 def parse_constraint_validations_dataset 67 reflections = {} 68 allow_missing_columns = db_schema.select{|col, sch| sch[:allow_null] == false && nil != sch[:default]}.map(&:first) 69 hash = Sequel.synchronize{db.constraint_validations} 70 cv = [] 71 ds = @dataset.with_quote_identifiers(false) 72 cti_tables.each do |table_name| 73 table_name = ds.literal(table_name) 74 cv += (Sequel.synchronize{hash[table_name]} || []).map{|r| constraint_validation_array(r, reflections, allow_missing_columns)} 75 end 76 @constraint_validations = cv 77 @constraint_validation_reflections = reflections 78 end