Sha256: 16eae60e7de4b1a6b3747a5f70c8e2bbcb21541a01ee1e4eead2369f1ef7d376
Contents?: true
Size: 886 Bytes
Versions: 17
Compression:
Stored size: 886 Bytes
Contents
# frozen_string_literal: false 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
17 entries across 17 versions & 2 rubygems