Class: CustomValidator
Instance Attribute Summary
#table
Class Method Summary
collapse
Instance Method Summary
collapse
#initialize, #validate
Constructor Details
This class inherits a constructor from BaseValidator
Class Method Details
.config_file_path ⇒ Object
21
22
23
|
# File 'lib/schemy/validators/custom_validator.rb', line 21
def self.config_file_path
Rails.root.join 'config', 'schemy.yml'
end
|
25
26
27
|
# File 'lib/schemy/validators/custom_validator.rb', line 25
def self.configured_column_combinations
@configured_column_combinations ||= load_configured_column_combinations
end
|
29
30
31
32
33
34
35
36
|
# File 'lib/schemy/validators/custom_validator.rb', line 29
def self.load_configured_column_combinations
if File.exists? config_file_path
config = YAML.load_file config_file_path
config['indexed_columns']
else
[]
end
end
|
Instance Method Details
#validate_column(column) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/schemy/validators/custom_validator.rb', line 5
def validate_column column
self.class.configured_column_combinations.each do |config_columns|
config_columns = Array(config_columns)
if column == config_columns.first
return unless config_columns[1..-1].all? { |col| @table.has_column? col }
require_index config_columns
end
end
end
|