Class: MockApi::Runner
- Inherits:
-
Object
- Object
- MockApi::Runner
- Defined in:
- lib/mock_api/rspec.rb,
lib/mock_api/runner.rb,
lib/mock_api/minitest.rb
Instance Method Summary collapse
- #hooks ⇒ Object
-
#initialize(url:, server:, store: nil) ⇒ Runner
constructor
A new instance of Runner.
- #reset ⇒ Object
- #run(url = @url) ⇒ Object
Constructor Details
#initialize(url:, server:, store: nil) ⇒ Runner
Returns a new instance of Runner.
3 4 5 6 7 8 |
# File 'lib/mock_api/runner.rb', line 3 def initialize(url:, server:, store: nil) @url = Regexp.new(url) @server = server @store = store extend(store.mixin) unless store.nil? end |
Instance Method Details
#hooks ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/mock_api/rspec.rb', line 5 def hooks runner = self Module.new do define_singleton_method :included do |klass| klass.class_eval do before { runner.run } after { runner.reset } end end end end |
#reset ⇒ Object
19 20 21 |
# File 'lib/mock_api/runner.rb', line 19 def reset @store&.reset end |
#run(url = @url) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/mock_api/runner.rb', line 10 def run(url = @url) if defined?(::WebMock) WebMock.stub_request(:any, url).to_rack(@server) else raise 'MockApi requires WebMock to be installed. ' \ 'Check out the setup guide at https://github.com/davidtkramer/mock_api#quick-start.' end end |