Sha256: aa3f0e8e5b2327fa11ec77ac85037f503a98ab33f698f6d501d7edb39f06df01

Contents?: true

Size: 702 Bytes

Versions: 1

Compression:

Stored size: 702 Bytes

Contents

module CukeForker
  class RecordingVncListener < VncListener
    def initialize(pool, opts = {})
      super(pool)
      
      @ext     = opts[:codec] || "mpeg4"
      @options = opts
    end
    
    def on_worker_starting(worker)
      super
      worker.data.recorder = recorder_for(worker)
    end

    def on_worker_finished(worker)
      worker.data.recorder.stop
      worker.data.recorder = nil
      
      super
    end

    private
    
    def recorder_for(worker)
      display = worker.data.vnc.display
      output  = File.join(worker.out, "#{worker.basename}.#{@ext}")
      
      VncTools::Recorder.new display, output, @options
    end

  end # RecordingVncListener
end # CukeForker

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cukeforker-0.1.0 lib/cukeforker/recording_vnc_listener.rb