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