Module: HttpFake::RSpec::ClassMethods
- Defined in:
- lib/httpfake/rspec.rb
Instance Method Summary collapse
-
#_httpfake_register(name, route_map) ⇒ Object
Internal: register before/after hooks for a pre-built RouteMap.
-
#fake_server(name) ⇒ Object
Class-level macro.
Instance Method Details
#_httpfake_register(name, route_map) ⇒ Object
Internal: register before/after hooks for a pre-built RouteMap. Called by both the inline macro and Definition#rspec_helpers.
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/httpfake/rspec.rb', line 62 def _httpfake_register(name, route_map) before(:each) do server = Server.new(route_map) server.start stub = WebMockIntegration.setup(server) @_httpfake_servers ||= {} @_httpfake_webmock_stubs ||= {} @_httpfake_servers[name] = server @_httpfake_webmock_stubs[name] = stub end after(:each) do server = @_httpfake_servers&.[](name) stub = @_httpfake_webmock_stubs&.[](name) WebMockIntegration.teardown(stub) server&.stop end end |
#fake_server(name) ⇒ Object
Class-level macro. Evaluates the block into a RouteMap once at class-load time, then registers before/after hooks for per-example server lifecycle.
54 55 56 57 58 |
# File 'lib/httpfake/rspec.rb', line 54 def fake_server(name, &) route_map = RouteMap.new route_map.instance_eval(&) _httpfake_register(name, route_map) end |