class RuboCop::Cop::HashAlignmentStyles::KeyAlignment
Handles calculation of deltas when the enforced style is ‘key’.
def checkable_layout?(_node)
def checkable_layout?(_node) true end
def deltas(first_pair, current_pair)
def deltas(first_pair, current_pair) if Util.begins_its_line?(current_pair.source_range) key_delta = first_pair.key_delta(current_pair) separator_delta = separator_delta(current_pair) value_delta = value_delta(current_pair) { key: key_delta, separator: separator_delta, value: value_delta } else {} end end
def deltas_for_first_pair(first_pair)
def deltas_for_first_pair(first_pair) { separator: separator_delta(first_pair), value: value_delta(first_pair) } end
def separator_delta(pair)
def separator_delta(pair) if pair.hash_rocket? correct_separator_column = pair.key.source_range.end.column + 1 actual_separator_column = pair.loc.operator.column correct_separator_column - actual_separator_column else 0 end end
def value_delta(pair)
def value_delta(pair) return 0 if pair.value_on_new_line? || pair.value_omission? correct_value_column = pair.loc.operator.end.column + 1 actual_value_column = pair.value.loc.column correct_value_column - actual_value_column end