39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/daifuku/validator.rb', line 39
def validate!(categories)
violations = []
common_category = categories[COMMON_CATEGORY_NAME]
return [] unless common_category&.common_columns
all_common_columns = common_category.common_columns.map(&:name)
categories.each_value do |category|
next if category.name == COMMON_CATEGORY_NAME
category.events.each_value do |event|
event.columns.each do |column|
if all_common_columns.include?(column.name)
message = "Column '#{column.name}' on '#{category.name}' is already defined on common columns"
violations << Violation.new(message, category_name: category.name, event_name: event.name, column_name: column.name)
end
end
end
end
violations
end
|