Module: Sequel::Plugins::AutoValidations::ClassMethods
- Defined in:
- lib/sequel/plugins/auto_validations.rb
Instance Attribute Summary collapse
-
#auto_validate_explicit_not_null_columns ⇒ Object
readonly
The columns with automatic not_null validations for columns present in the values.
-
#auto_validate_max_length_columns ⇒ Object
readonly
The columns or sets of columns with automatic max_length validations, as an array of pairs, with the first entry being the column name and second entry being the maximum length.
-
#auto_validate_no_null_byte_columns ⇒ Object
readonly
The columns with automatic no_null_byte validations.
-
#auto_validate_not_null_columns ⇒ Object
readonly
The columns with automatic not_null validations.
-
#auto_validate_options ⇒ Object
readonly
Inherited options.
-
#auto_validate_unique_columns ⇒ Object
readonly
The columns or sets of columns with automatic unique validations.
Instance Method Summary collapse
-
#auto_validate_presence? ⇒ Boolean
Whether to use a presence validation for not null columns.
-
#auto_validate_types? ⇒ Boolean
Whether to automatically validate schema types for all columns.
-
#freeze ⇒ Object
Freeze auto_validation settings when freezing model class.
-
#skip_auto_validations(type) ⇒ Object
Skip automatic validations for the given validation type (:not_null, :types, :unique, :max_length, :no_null_byte).
Instance Attribute Details
#auto_validate_explicit_not_null_columns ⇒ Object (readonly)
The columns with automatic not_null validations for columns present in the values.
132 133 134 |
# File 'lib/sequel/plugins/auto_validations.rb', line 132 def auto_validate_explicit_not_null_columns @auto_validate_explicit_not_null_columns end |
#auto_validate_max_length_columns ⇒ Object (readonly)
The columns or sets of columns with automatic max_length validations, as an array of pairs, with the first entry being the column name and second entry being the maximum length.
136 137 138 |
# File 'lib/sequel/plugins/auto_validations.rb', line 136 def auto_validate_max_length_columns @auto_validate_max_length_columns end |
#auto_validate_no_null_byte_columns ⇒ Object (readonly)
The columns with automatic no_null_byte validations
126 127 128 |
# File 'lib/sequel/plugins/auto_validations.rb', line 126 def auto_validate_no_null_byte_columns @auto_validate_no_null_byte_columns end |
#auto_validate_not_null_columns ⇒ Object (readonly)
The columns with automatic not_null validations
129 130 131 |
# File 'lib/sequel/plugins/auto_validations.rb', line 129 def auto_validate_not_null_columns @auto_validate_not_null_columns end |
#auto_validate_options ⇒ Object (readonly)
Inherited options
142 143 144 |
# File 'lib/sequel/plugins/auto_validations.rb', line 142 def @auto_validate_options end |
#auto_validate_unique_columns ⇒ Object (readonly)
The columns or sets of columns with automatic unique validations
139 140 141 |
# File 'lib/sequel/plugins/auto_validations.rb', line 139 def auto_validate_unique_columns @auto_validate_unique_columns end |
Instance Method Details
#auto_validate_presence? ⇒ Boolean
Whether to use a presence validation for not null columns
156 157 158 |
# File 'lib/sequel/plugins/auto_validations.rb', line 156 def auto_validate_presence? @auto_validate_presence end |
#auto_validate_types? ⇒ Boolean
Whether to automatically validate schema types for all columns
161 162 163 |
# File 'lib/sequel/plugins/auto_validations.rb', line 161 def auto_validate_types? @auto_validate_types end |
#freeze ⇒ Object
Freeze auto_validation settings when freezing model class.
166 167 168 169 170 171 172 173 174 |
# File 'lib/sequel/plugins/auto_validations.rb', line 166 def freeze @auto_validate_no_null_byte_columns.freeze @auto_validate_not_null_columns.freeze @auto_validate_explicit_not_null_columns.freeze @auto_validate_max_length_columns.freeze @auto_validate_unique_columns.freeze super end |
#skip_auto_validations(type) ⇒ Object
Skip automatic validations for the given validation type (:not_null, :types, :unique, :max_length, :no_null_byte). If :all is given as the type, skip all auto validations.
179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/sequel/plugins/auto_validations.rb', line 179 def skip_auto_validations(type) case type when :all [:not_null, :no_null_byte, :types, :unique, :max_length].each{|v| skip_auto_validations(v)} when :not_null auto_validate_not_null_columns.clear auto_validate_explicit_not_null_columns.clear when :types @auto_validate_types = false else public_send("auto_validate_#{type}_columns").clear end end |