Class: Unparser::Preprocessor::CompactDSTR

Inherits:
Unparser::Preprocessor show all
Defined in:
lib/unparser/preprocessor.rb

Overview

Preprocessor eliminating unneded dstr nodes

Constant Summary

Constants inherited from Unparser::Preprocessor

EMPTY, REGISTRY

Instance Method Summary collapse

Methods inherited from Unparser::Preprocessor

run

Methods included from NodeHelpers

#n, #s

Instance Method Details

#resultParser::AST::Node

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return preprocessor result

Returns:

  • (Parser::AST::Node)


165
166
167
168
169
170
171
# File 'lib/unparser/preprocessor.rb', line 165

def result
  if children.all? { |child| child.type == :str }
    node.updated(:str, [children.map { |child| child.children.first }.join])
  else
    node
  end
end