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