Sha256: 6acc2b477f04cf17099de36eba4ca55d5937f94ddc7659b73404f85f30f77935

Contents?: true

Size: 668 Bytes

Versions: 17

Compression:

Stored size: 668 Bytes

Contents

# frozen_string_literal: false
module Psych
  module Streaming
    module ClassMethods
      ###
      # Create a new streaming emitter.  Emitter will print to +io+.  See
      # Psych::Stream for an example.
      def new io
        emitter      = const_get(:Emitter).new(io)
        class_loader = ClassLoader.new
        ss           = ScalarScanner.new class_loader
        super(emitter, ss, {})
      end
    end

    ###
    # Start streaming using +encoding+
    def start encoding = Nodes::Stream::UTF8
      super.tap { yield self if block_given?  }
    ensure
      finish if block_given?
    end

    private
    def register target, obj
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
psych-3.0.0.beta2-java lib/psych/streaming.rb
psych-3.0.0.beta2 lib/psych/streaming.rb
psych-2.2.4-java lib/psych/streaming.rb
psych-2.2.4 lib/psych/streaming.rb
psych-2.2.3-java lib/psych/streaming.rb
psych-2.2.3 lib/psych/streaming.rb
ruby-compiler-0.1.1 vendor/ruby/ext/psych/lib/psych/streaming.rb
psych-2.2.2-java lib/psych/streaming.rb
psych-2.2.2 lib/psych/streaming.rb
psych-2.2.1-java lib/psych/streaming.rb
psych-2.2.1 lib/psych/streaming.rb
psych-2.2.0-java lib/psych/streaming.rb
psych-2.2.0 lib/psych/streaming.rb
psych-2.1.1-java lib/psych/streaming.rb
psych-2.1.1 lib/psych/streaming.rb
psych-2.1.0-java lib/psych/streaming.rb
psych-2.1.0 lib/psych/streaming.rb