Class: Unparser::Writer::Send::AttributeAssignment

Inherits:
Unparser::Writer::Send show all
Defined in:
lib/unparser/writer/send/attribute_assignment.rb

Overview

Writer for send as attribute assignment

Constant Summary

Constants inherited from Unparser::Writer::Send

INDEX_ASSIGN, INDEX_REFERENCE, OPERATORS

Constants included from Generation

Generation::EXTRA_NL

Constants included from Constants

Constants::BINARY_OPERATORS, Constants::KEYWORDS, Constants::K_ALIAS, Constants::K_AND, Constants::K_BEGIN, Constants::K_BREAK, Constants::K_CASE, Constants::K_CLASS, Constants::K_DEF, Constants::K_DEFINE, Constants::K_DEFINED, Constants::K_DO, Constants::K_EEND, Constants::K_ELSE, Constants::K_ELSIF, Constants::K_ENCODING, Constants::K_END, Constants::K_ENSURE, Constants::K_FALSE, Constants::K_FILE, Constants::K_FOR, Constants::K_IF, Constants::K_IN, Constants::K_MODULE, Constants::K_NEXT, Constants::K_NIL, Constants::K_NOT, Constants::K_OR, Constants::K_POSTEXE, Constants::K_PREEXE, Constants::K_REDO, Constants::K_RESCUE, Constants::K_RETRY, Constants::K_RETURN, Constants::K_SELF, Constants::K_SUPER, Constants::K_THEN, Constants::K_TRUE, Constants::K_UNDEF, Constants::K_UNLESS, Constants::K_UNTIL, Constants::K_WHEN, Constants::K_WHILE, Constants::K_YIELD, Constants::UNARY_OPERATORS

Instance Method Summary collapse

Methods inherited from Unparser::Writer::Send

#emit_heredoc_reminders, #emit_mlhs, #emit_selector

Methods included from Unparser::Writer

included

Methods included from Generation

#emit_heredoc_reminders, #symbol_name, #write_to_buffer

Methods included from NodeHelpers

#n, #n?, #s, #unwrap_single_begin

Instance Method Details

#dispatchObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/unparser/writer/send/attribute_assignment.rb', line 10

def dispatch
  emit_receiver
  emit_attribute
  write('=')

  if arguments.one?
    visit(first_argument)
  else
    parentheses { delimited(arguments) }
  end
end

#emit_send_mlhsObject



22
23
24
25
# File 'lib/unparser/writer/send/attribute_assignment.rb', line 22

def emit_send_mlhs
  emit_receiver
  write(details.non_assignment_selector)
end