Skip to content

Commit d7db4d1

Browse files
authored
Merge pull request rubocop#817 from ydah/change/presence
Preserve multiline semantics on `Rails/Presence`
2 parents e7f9546 + 43fa456 commit d7db4d1

File tree

2 files changed

+287
-104
lines changed

2 files changed

+287
-104
lines changed

lib/rubocop/cop/rails/presence.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,17 @@ def ignore_other_node?(node)
106106
end
107107

108108
def message(node, receiver, other)
109-
format(MSG, prefer: replacement(receiver, other), current: node.source)
109+
prefer = replacement(receiver, other).gsub(/^\s*|\n/, '')
110+
current = current(node).gsub(/^\s*|\n/, '')
111+
format(MSG, prefer: prefer, current: current)
112+
end
113+
114+
def current(node)
115+
if node.source.include?("\n")
116+
"#{node.loc.keyword.with(end_pos: node.condition.loc.selector.end_pos).source} ... end"
117+
else
118+
node.source
119+
end
110120
end
111121

112122
def replacement(receiver, other)

0 commit comments

Comments
 (0)