Class: Unparser::Writer::Send

Inherits:
Object
  • Object
show all
Includes:
Adamantium, Constants, Generation, Unparser::Writer
Defined in:
lib/unparser/writer/send.rb,
lib/unparser/writer/send/unary.rb,
lib/unparser/writer/send/binary.rb,
lib/unparser/writer/send/regular.rb,
lib/unparser/writer/send/conditional.rb,
lib/unparser/writer/send/attribute_assignment.rb

Overview

Writer for send

Direct Known Subclasses

AttributeAssignment, Binary, Conditional, Regular, Unary

Defined Under Namespace

Classes: AttributeAssignment, Binary, Conditional, Regular, Unary

Constant Summary collapse

INDEX_ASSIGN =
:[]=
INDEX_REFERENCE =
:[]
OPERATORS =
{
  csend: '&.',
  send:  '.'
}.freeze

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 included from Unparser::Writer

included

Methods included from Generation

#symbol_name, #write_to_buffer

Methods included from NodeHelpers

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

Instance Method Details

#dispatchObject



21
22
23
# File 'lib/unparser/writer/send.rb', line 21

def dispatch
  effective_writer.dispatch
end

#emit_heredoc_remindersObject



33
34
35
36
# File 'lib/unparser/writer/send.rb', line 33

def emit_heredoc_reminders
  emitter(receiver).emit_heredoc_reminders if receiver
  arguments.each(&method(:emit_heredoc_reminder))
end

#emit_mlhsObject



25
26
27
# File 'lib/unparser/writer/send.rb', line 25

def emit_mlhs
  effective_writer.emit_send_mlhs
end

#emit_selectorObject



29
30
31
# File 'lib/unparser/writer/send.rb', line 29

def emit_selector
  write(details.string_selector)
end