class RuboCop::Cop::Layout::AlignHash
def correct_key_value(key_delta, key, value, separator)
def correct_key_value(key_delta, key, value, separator) # We can't use the instance variable inside the lambda. That would # just give each lambda the same reference and they would all get the # last value of each. Some local variables fix the problem. separator_delta = column_deltas[:separator] || 0 value_delta = column_deltas[:value] || 0 key_column = key.column key_delta = -key_column if key_delta < -key_column lambda do |corrector| adjust(corrector, key_delta, key) adjust(corrector, separator_delta, separator) adjust(corrector, value_delta, value) end end