class ResponseMate::Recorder

Handles recording requests

Attributes

conn[RW]
keys[RW]
manifest[RW]
output_dir[RW]

Public Class Methods

new(args = {}) click to toggle source
# File lib/response_mate/recorder.rb, line 6
def initialize(args = {})
  @manifest = args[:manifest]
  @conn = ResponseMate::Connection.new
  @output_dir = args[:output_dir]
end

Public Instance Methods

record(keys) click to toggle source
# File lib/response_mate/recorder.rb, line 12
def record(keys)
  requests = keys.empty? ? manifest.requests : manifest.requests_for_keys(keys)

  requests.each { |request| process request }
end

Private Instance Methods

process(request) click to toggle source
# File lib/response_mate/recorder.rb, line 20
def process(request)
  meta = request.meta
  puts request.to_cli_format

  ResponseMate::Tape.new.write(request.key,
                               request,
                               conn.fetch(request),
                               meta,
                               output_dir)
end