class AwsRecord::Generators::Base
def parse_gsis!
def parse_gsis! @gsis = (options['gsi'] || []).map do |raw_idx| begin idx = SecondaryIndex.parse(raw_idx) attributes = self.attributes.select { |attr| attr.name == idx.hash_key} if attributes.empty? @parse_errors << ArgumentError.new("Could not find attribute #{idx.hash_key} for gsi #{idx.name} hkey") next end if idx.range_key attributes = self.attributes.select { |attr| attr.name == idx.range_key} if attributes.empty? @parse_errors << ArgumentError.new("Could not find attribute #{idx.range_key} for gsi #{idx.name} rkey") next end end idx rescue ArgumentError => e @parse_errors << e next end end @gsis = @gsis.compact end