class RuboCop::Rails::SchemaLoader::Index

Represent an index

def analyze_keywords!(node)

def analyze_keywords!(node)
  pairs = node.last_argument
  return unless pairs.hash_type?
  pairs.each_pair do |k, v|
    case k.value
    when :name
      @name = v.value
    when :unique
      @unique = true
    end
  end
end

def build_columns_or_expr(columns)

def build_columns_or_expr(columns)
  if columns.array_type?
    [columns.values.map(&:value), nil]
  else
    [[], columns.value]
  end
end

def initialize(node)

def initialize(node)
  @columns, @expression = build_columns_or_expr(node.first_argument)
  @unique = nil
  analyze_keywords!(node)
end