class AwsRecord::Generators::Base
def ensure_unique_fields
def ensure_unique_fields used_names = Set.new duplicate_fields = [] self.attributes.each do |attr| if used_names.include? attr.name duplicate_fields << [:attribute, attr.name] end used_names.add attr.name if attr.options.key? :database_attribute_name raw_db_attr_name = attr.options[:database_attribute_name].delete('"') # db attribute names are wrapped with " to make template generation easier if used_names.include? raw_db_attr_name duplicate_fields << [:database_attribute_name, raw_db_attr_name] end used_names.add raw_db_attr_name end end if !duplicate_fields.empty? duplicate_fields.each do |invalid_attr| @parse_errors << ArgumentError.new("Found duplicated field name: #{invalid_attr[1]}, in attribute#{invalid_attr[0]}") end end end