class RuboCop::Rails::SchemaLoader::Index
Represent an index
Attributes
columns[R]
expression[R]
name[R]
unique[R]
Public Class Methods
new(node)
click to toggle source
# File lib/rubocop/rails/schema_loader/schema.rb, line 140 def initialize(node) @columns, @expression = build_columns_or_expr(node.first_argument) @unique = nil analyze_keywords!(node) end
Private Instance Methods
analyze_keywords!(node)
click to toggle source
# File lib/rubocop/rails/schema_loader/schema.rb, line 157 def analyze_keywords!(node) pairs = node.arguments.last 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
build_columns_or_expr(columns)
click to toggle source
# File lib/rubocop/rails/schema_loader/schema.rb, line 149 def build_columns_or_expr(columns) if columns.array_type? [columns.values.map(&:value), nil] else [[], columns.value] end end