Sha256: 1a2a141344596904f95620f39fb7d664d3384fb6205f2fb50326d3dad519d767

Contents?: true

Size: 878 Bytes

Versions: 14

Compression:

Stored size: 878 Bytes

Contents

module Unparser
  class Emitter
    # Emitter for rescue body nodes
    class Resbody < self

      handle :resbody

      children :exception, :assignment, :body

    private

      # Perform dispatch
      #
      # @return [undefined]
      #
      # @api private
      #
      def dispatch
        write(K_RESCUE)
        emit_exception
        emit_assignment
        emit_body
      end

      # Emit exception
      #
      # @return [undefined]
      #
      # @api private
      #
      def emit_exception
        return unless exception
        ws
        delimited(exception.children)
      end

      # Emit assignment
      #
      # @return [undefined]
      #
      # @api private
      #
      def emit_assignment
        return unless assignment
        write(WS, T_ASR, WS)
        visit(assignment)
      end

    end # Resbody
  end # Emitter
end # Unparser

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
unparser-0.1.5 lib/unparser/emitter/resbody.rb
unparser-0.1.4 lib/unparser/emitter/resbody.rb
unparser-0.1.3 lib/unparser/emitter/resbody.rb
unparser-0.1.2 lib/unparser/emitter/resbody.rb
unparser-0.1.1 lib/unparser/emitter/resbody.rb
unparser-0.1.0 lib/unparser/emitter/resbody.rb
unparser-0.0.18 lib/unparser/emitter/resbody.rb
unparser-0.0.16 lib/unparser/emitter/resbody.rb
unparser-0.0.15 lib/unparser/emitter/resbody.rb
unparser-0.0.14 lib/unparser/emitter/resbody.rb
unparser-0.0.13 lib/unparser/emitter/resbody.rb
unparser-0.0.12 lib/unparser/emitter/resbody.rb
unparser-0.0.11 lib/unparser/emitter/resbody.rb
unparser-0.0.10 lib/unparser/emitter/resbody.rb