Sha256: 5d2fe7106ad8daa7f6cd09bc41d9280629ceab262ab4e702d0b2ba010aa99194

Contents?: true

Size: 697 Bytes

Versions: 6

Compression:

Stored size: 697 Bytes

Contents

module Unparser
  class Emitter
    # Base class for pre and postexe emitters
    class Hookexe < self

      MAP = {
        :preexe  => K_PREEXE,
        :postexe => K_POSTEXE
      }.freeze

      handle *MAP.keys

      children :body

    private

      # Perfrom dispatch
      #
      # @return [undefined]
      #
      # @api private
      #
      def dispatch
        write(MAP.fetch(node.type), WS)
        parentheses(*CURLY_BRACKETS) do
          emit_body
        end
      end

      # Emit body
      #
      # @return [undefined]
      #
      # @api private
      #
      def emit_body
        indented { visit(body) }
      end

    end # Hookexe
  end # Emitter
end # Unparser

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
unparser-0.0.6 lib/unparser/emitter/hookexe.rb
unparser-0.0.5 lib/unparser/emitter/hookexe.rb
unparser-0.0.4 lib/unparser/emitter/hookexe.rb
unparser-0.0.3 lib/unparser/emitter/hookexe.rb
unparser-0.0.2 lib/unparser/emitter/hookexe.rb
unparser-0.0.1 lib/unparser/emitter/hookexe.rb