class WebSocketVCR::RecordedSession

Attributes

record_entries[R]

Public Class Methods

new(entries, erb_variables = nil) click to toggle source
# File lib/simple_websocket_vcr/cassette.rb, line 83
def initialize(entries, erb_variables = nil)
  @record_entries = entries
  @erb_variables = erb_variables
end

Public Instance Methods

head() click to toggle source
# File lib/simple_websocket_vcr/cassette.rb, line 102
def head
  @record_entries.empty? ? nil : RecordEntry.parse(@record_entries.first, @erb_variables)
end
method_missing(method_name, *args, &block) click to toggle source
# File lib/simple_websocket_vcr/cassette.rb, line 106
def method_missing(method_name, *args, &block)
  @record_entries.__send__(method_name, *args, &block)
end
next() click to toggle source
# File lib/simple_websocket_vcr/cassette.rb, line 98
def next
  RecordEntry.parse(@record_entries.shift, @erb_variables)
end
store(entry) click to toggle source
# File lib/simple_websocket_vcr/cassette.rb, line 88
def store(entry)
  hash = entry.is_a?(RecordEntry) ? entry.attributes.map(&:to_s) : Hash[entry.map { |k, v| [k.to_s, v.to_s] }]
  if !hash['data'].nil? && !@erb_variables.nil? && hash['type'] != 'binary'
    @erb_variables.each do |k, v|
      hash['data'].gsub! v.to_s, "<%= #{k} %>"
    end
  end
  @record_entries << hash
end