Class: MockServer::Playback
- Inherits:
-
Object
- Object
- MockServer::Playback
- Includes:
- Store, Utils
- Defined in:
- lib/mock_server/playback.rb
Instance Method Summary (collapse)
- - (Object) call(env)
-
- (Playback) initialize(app, opt = {})
constructor
A new instance of Playback.
Methods included from Store
#mock_server_options_merge, #mock_server_options_read, #mock_server_options_write
Constructor Details
- (Playback) initialize(app, opt = {})
A new instance of Playback
16 17 18 19 |
# File 'lib/mock_server/playback.rb', line 16 def initialize(app, opt = {}) @app = app @options = (opt) end |
Instance Method Details
- (Object) call(env)
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/mock_server/playback.rb', line 21 def call(env) @options = self. verbose(env) if @options[:verbose] return @app.call(env) unless @options[:routes] and lazy_match @options[:routes], env["PATH_INFO"] @request = Rack::Request.new(env) @options[:requests_stack] << @request.path @data = load_data record = match_request response = if record @options[:success_stack] << @request.path @options[:matcher_exceptions].clear response = record[:response] [response[:status], response[:headers], [response[:body]]] else error = { @request.path => "Couldn't match #{@request.request_method} #{@request.path}" } @options[:errors_stack] << error [404, {}, ['RECORD NOT FOUND!']] end self.(@options) response end |