Class: VcrWs::Recorder

Inherits:
Object
  • Object
show all
Defined in:
lib/vcr_ws/recorder.rb

Instance Method Summary collapse

Constructor Details

#initialize(recorder_file) ⇒ Recorder



7
8
9
10
11
12
# File 'lib/vcr_ws/recorder.rb', line 7

def initialize(recorder_file)
  dir = File.dirname(recorder_file)
  FileUtils.mkdir_p(dir) unless File.directory?(dir)

  @recorder_file = recorder_file
end

Instance Method Details

#record(event, data) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/vcr_ws/recorder.rb', line 14

def record(event, data)
  line = { timestamp: Time.now.to_i, event: event.to_s }
  line[:data] = data if data
  full_data = if File.file?(@recorder_file)
                YAML.load_file(@recorder_file, symbolize_names: true)
              else
                []
              end
  full_data.push(line)
  File.open(@recorder_file, "w") { |f| f.write(YAML.dump(full_data)) }
end