module Typhoeus::Hydra::Stubbing::SharedMethods
def self.extended(base)
def self.extended(base) class << base attr_accessor :stubs end base.stubs = [] end
def clear_stubs
def clear_stubs self.stubs = [] end
def find_stub_from_request(request)
def find_stub_from_request(request) stub_finders.each do |finder| if response = finder.call(request) mock = HydraMock.new(/.*/, :any) mock.and_return(response) return mock end end stubs.detect { |stub| stub.matches?(request) } end
def register_stub_finder(&block)
def register_stub_finder(&block) stub_finders << block end
def stub(method, url, options = {})
def stub(method, url, options = {}) stubs << HydraMock.new(url, method, options) stubs.last end
def stub_finders
def stub_finders @stub_finders ||= [] end