lib/webmock/webmock.rb in webmock-1.3.5 vs lib/webmock/webmock.rb in webmock-1.4.0

- old
+ new

@@ -1,76 +1,82 @@ module WebMock - extend self - def self.version - open(File.join(File.dirname(__FILE__), '../../VERSION')) { |f| - f.read.strip - } + def self.included(clazz) + WebMock::Deprecation.warning("include WebMock is deprecated. Please include WebMock::API instead") + if clazz.instance_methods.map(&:to_s).include?('request') + warn "WebMock#request was not included in #{clazz} to avoid name collision" + else + clazz.class_eval do + def request(method, uri) + WebMock::Deprecation.warning("WebMock#request is deprecated. Please use WebMock::API#a_request method instead") + WebMock.a_request(method, uri) + end + end + end end - def stub_request(method, uri) - RequestRegistry.instance.register_request_stub(RequestStub.new(method, uri)) - end + include WebMock::API + extend WebMock::API - alias_method :stub_http_request, :stub_request - - def request(method, uri) - RequestPattern.new(method, uri) + class << self + alias :request :a_request end - def assert_requested(method, uri, options = {}, &block) - expected_times_executed = options.delete(:times) || 1 - request = RequestPattern.new(method, uri, options).with(&block) - verifier = RequestExecutionVerifier.new(request, expected_times_executed) - assertion_failure(verifier.failure_message) unless verifier.matches? + def self.version + open(File.join(File.dirname(__FILE__), '../../VERSION')) { |f| + f.read.strip + } end - def assert_not_requested(method, uri, options = {}, &block) - request = RequestPattern.new(method, uri, options).with(&block) - verifier = RequestExecutionVerifier.new(request, options.delete(:times)) - assertion_failure(verifier.negative_failure_message) unless verifier.does_not_match? - end - - def allow_net_connect! + def self.allow_net_connect! Config.instance.allow_net_connect = true end - def disable_net_connect!(options = {}) + def self.disable_net_connect!(options = {}) Config.instance.allow_net_connect = false Config.instance.allow_localhost = options[:allow_localhost] Config.instance.allow = options[:allow] end - def net_connect_allowed?(uri = nil) + def self.net_connect_allowed?(uri = nil) if uri.is_a?(String) uri = WebMock::Util::URI.normalize_uri(uri) end Config.instance.allow_net_connect || - (Config.instance.allow_localhost && uri.is_a?(Addressable::URI) && (uri.host == 'localhost' || uri.host == '127.0.0.1')) || + (Config.instance.allow_localhost && WebMock::Util::URI.is_uri_localhost?(uri)) || Config.instance.allow && Config.instance.allow.include?(uri.host) end - def registered_request?(request_signature) - RequestRegistry.instance.registered_request?(request_signature) + def self.reset_webmock + WebMock::RequestRegistry.instance.reset_webmock end - def response_for_request(request_signature, &block) - RequestRegistry.instance.response_for_request(request_signature, &block) + def self.reset_callbacks + WebMock::CallbackRegistry.reset end - def reset_webmock - WebMock::RequestRegistry.instance.reset_webmock + def self.after_request(options={}, &block) + CallbackRegistry.add_callback(options, block) end - def reset_callbacks - WebMock::CallbackRegistry.reset + def self.registered_request?(request_signature) + RequestRegistry.instance.registered_request?(request_signature) end - def assertion_failure(message) - raise message - end - - def after_request(options={}, &block) - CallbackRegistry.add_callback(options, block) + %w( + allow_net_connect! + disable_net_connect! + net_connect_allowed? + reset_webmock + reset_callbacks + after_request + registered_request? + ).each do |method| + self.class_eval(%Q( + def #{method}(*args, &block) + WebMock::Deprecation.warning("WebMock##{method} instance method is deprecated. Please use WebMock.#{method} class method instead") + WebMock.#{method}(*args, &block) + end + )) end end