Skip to content

Commit ac88d7a

Browse files
authored
Merge pull request #237 from ruby-syntax-tree/fix-234
Fix #234
2 parents 2434e01 + e5dde65 commit ac88d7a

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

lib/syntax_tree/node.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -6160,7 +6160,7 @@ def call(q, node)
61606160
# want to force it to not be a ternary, like if the predicate is an
61616161
# assignment because it's hard to read.
61626162
case node.predicate
6163-
when Assign, Command, CommandCall, MAssign, OpAssign
6163+
when Assign, Binary, Command, CommandCall, MAssign, OpAssign
61646164
return false
61656165
when Not
61666166
return false unless node.predicate.parentheses?
@@ -6183,10 +6183,10 @@ def call(q, node)
61836183
# and default instead to breaking them into multiple lines.
61846184
def ternaryable?(statement)
61856185
case statement
6186-
when AliasNode, Assign, Break, Command, CommandCall, Heredoc, IfNode,
6187-
IfOp, Lambda, MAssign, Next, OpAssign, RescueMod, ReturnNode,
6188-
Super, Undef, UnlessNode, UntilNode, VoidStmt, WhileNode,
6189-
YieldNode, ZSuper
6186+
when AliasNode, Assign, Break, Command, CommandCall, Defined, Heredoc,
6187+
IfNode, IfOp, Lambda, MAssign, Next, OpAssign, RescueMod,
6188+
ReturnNode, Super, Undef, UnlessNode, UntilNode, VoidStmt,
6189+
WhileNode, YieldNode, ZSuper
61906190
# This is a list of nodes that should not be allowed to be a part of a
61916191
# ternary clause.
61926192
false

test/fixtures/if.rb

+7
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,10 @@
6767
if true # comment1
6868
# comment2
6969
end
70+
%
71+
result =
72+
if false && val = 1
73+
"A"
74+
else
75+
"B"
76+
end

0 commit comments

Comments
 (0)