Sha256: b71cc827324e3ac1caa63dee8daf1437d229281e34c765901bb01d3605f34076
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module Unparser module NodeHelpers # Helper for building nodes # # @param [Symbol] type # @param [Parser::AST::Node] children # # @return [Parser::AST::Node] # # @api private def s(type, *children) Parser::AST::Node.new(type, children) end # Helper for building nodes # # @param [Symbol] type # # @return [Parser::AST::Node] # @param [Array] children # # @api private def n(type, children = []) Parser::AST::Node.new(type, children) end def n?(type, node) node.type.equal?(type) end %i[ arg args array array_pattern empty_else begin block cbase const dstr ensure hash hash_pattern in_pattern int kwsplat lambda match_rest pair rescue send shadowarg splat str sym ].each do |type| name = "n_#{type}?" define_method(name) do |node| n?(type, node) end private(name) end def unwrap_single_begin(node) if n_begin?(node) && node.children.one? node.children.first else node end end end # NodeHelpers end # Unparser
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
unparser-0.5.3 | lib/unparser/node_helpers.rb |
unparser-0.5.2 | lib/unparser/node_helpers.rb |
unparser-0.5.1 | lib/unparser/node_helpers.rb |
unparser-0.5.0 | lib/unparser/node_helpers.rb |