class Rack::VCR
Constants
- VERSION
Public Class Methods
new(app, options = {})
click to toggle source
# File lib/rack/vcr.rb, line 7 def initialize(app, options = {}) @app = app @replay = options[:replay] @cassette = options[:cassette] @record = options[:record] || :new_episodes end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/vcr.rb, line 14 def call(env) if @cassette ::VCR.use_cassette(@cassette, record: @record) do run_request(env) end else run_request(env) end end
run_request(env)
click to toggle source
# File lib/rack/vcr.rb, line 24 def run_request(env) req = Rack::Request.new(env) transaction = Transaction.new(req) if @replay && transaction.can_replay? transaction.replay else status, headers, body = @app.call(env) res = Rack::Response.new(body, status, headers) transaction.capture(res) [status, headers, body] end end