class Unparser::NodeDetails::Send

def arguments

def arguments
  children[2..]
end

def arguments?

def arguments?
  arguments.any?
end

def assignment?

def assignment?
  string_selector[-1].eql?(ASSIGN_SUFFIX)
end

def assignment_operator?

def assignment_operator?
  assignment? && !selector_binary_operator? && !selector_unary_operator?
end

def binary_syntax_allowed?

def binary_syntax_allowed?
  selector_binary_operator? \
    && n_send?(node) \
    && arguments.one? \
    && !n_splat?(arguments.first) \
    && !n_kwargs?(arguments.first)
end

def non_assignment_selector

def non_assignment_selector
  if assignment?
    string_selector[NON_ASSIGN_RANGE]
  else
    string_selector
  end
end

def selector_binary_operator?

def selector_binary_operator?
  BINARY_OPERATORS.include?(selector)
end

def selector_unary_operator?

def selector_unary_operator?
  UNARY_OPERATORS.include?(selector)
end

def string_selector

def string_selector
  selector.to_s
end