Sha256: 186df79d1b0b21e13d2118aadec2d64a34c88c371d900559f13efd62b7482737

Contents?: true

Size: 885 Bytes

Versions: 112

Compression:

Stored size: 885 Bytes

Contents

# frozen_string_literal: true
require 'psych/handler'

module Psych
  module Handlers
    ###
    # This handler will capture an event and record the event.  Recorder events
    # are available vial Psych::Handlers::Recorder#events.
    #
    # For example:
    #
    #   recorder = Psych::Handlers::Recorder.new
    #   parser = Psych::Parser.new recorder
    #   parser.parse '--- foo'
    #
    #   recorder.events # => [list of events]
    #
    #   # Replay the events
    #
    #   emitter = Psych::Emitter.new $stdout
    #   recorder.events.each do |m, args|
    #     emitter.send m, *args
    #   end

    class Recorder < Psych::Handler
      attr_reader :events

      def initialize
        @events = []
        super
      end

      EVENTS.each do |event|
        define_method event do |*args|
          @events << [event, args]
        end
      end
    end
  end
end

Version data entries

112 entries across 109 versions & 12 rubygems

Version Path
primary_connect_proto-0.20.0 vendor/bundle/ruby/3.0.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.20.0 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.19.0 vendor/bundle/ruby/3.0.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.18.0 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.18.0 vendor/bundle/ruby/3.0.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.17.0 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.17.0 vendor/bundle/ruby/3.0.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
psych-3.3.4-java lib/psych/handlers/recorder.rb
psych-3.3.4 lib/psych/handlers/recorder.rb
psych-3.3.3-java lib/psych/handlers/recorder.rb
psych-3.3.3 lib/psych/handlers/recorder.rb
primary_connect_proto-0.12.1 vendor/bundle/ruby/2.7.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.10.2 vendor/bundle/ruby/2.7.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.10.1 vendor/bundle/ruby/2.7.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.9.0 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.8.2 vendor/bundle/ruby/2.7.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.8.1 vendor/bundle/ruby/2.7.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.8.0 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.7.3 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb
primary_connect_proto-0.7.2 vendor/bundle/ruby/2.6.0/gems/psych-4.0.2/lib/psych/handlers/recorder.rb