class Unparser::NodeDetails::Send

Constants

ASSIGN_SUFFIX
NON_ASSIGN_RANGE

Public Instance Methods

arguments() click to toggle source
# File lib/unparser/node_details/send.rb, line 50
def arguments
  children[2..-1]
end
arguments?() click to toggle source
# File lib/unparser/node_details/send.rb, line 33
def arguments?
  arguments.any?
end
assignment?() click to toggle source
# File lib/unparser/node_details/send.rb, line 45
def assignment?
  string_selector[-1].eql?(ASSIGN_SUFFIX)
end
assignment_operator?() click to toggle source
# File lib/unparser/node_details/send.rb, line 29
def assignment_operator?
  assignment? && !selector_binary_operator? && !selector_unary_operator?
end
binary_syntax_allowed?() click to toggle source
# File lib/unparser/node_details/send.rb, line 21
def binary_syntax_allowed?
  selector_binary_operator? && arguments.one? && !n_splat?(arguments.first)
end
non_assignment_selector() click to toggle source
# File lib/unparser/node_details/send.rb, line 37
def non_assignment_selector
  if assignment?
    string_selector[NON_ASSIGN_RANGE]
  else
    string_selector
  end
end
selector_binary_operator?() click to toggle source
# File lib/unparser/node_details/send.rb, line 17
def selector_binary_operator?
  BINARY_OPERATORS.include?(selector)
end
selector_unary_operator?() click to toggle source
# File lib/unparser/node_details/send.rb, line 25
def selector_unary_operator?
  UNARY_OPERATORS.include?(selector)
end
string_selector() click to toggle source
# File lib/unparser/node_details/send.rb, line 55
def string_selector
  selector.to_s
end