module WebMock
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Constants
- VERSION
Public Class Methods
after_request(options={}, &block)
click to toggle source
# File lib/webmock/webmock.rb, line 143 def self.after_request(options={}, &block) WebMock::CallbackRegistry.add_callback(options, block) end
allow_net_connect!(options = {})
click to toggle source
# File lib/webmock/webmock.rb, line 46 def self.allow_net_connect!(options = {}) Config.instance.allow_net_connect = true Config.instance.net_http_connect_on_start = options[:net_http_connect_on_start] end
Also aliased as: enable_net_connect!
disable!(options = {})
click to toggle source
# File lib/webmock/webmock.rb, line 30 def self.disable!(options = {}) except = [options[:except]].flatten.compact HttpLibAdapterRegistry.instance.each_adapter do |name, adapter| adapter.enable! adapter.disable! unless except.include?(name) end end
disable_net_connect!(options = {})
click to toggle source
# File lib/webmock/webmock.rb, line 51 def self.disable_net_connect!(options = {}) Config.instance.allow_net_connect = false Config.instance.allow_localhost = options[:allow_localhost] Config.instance.allow = options[:allow] Config.instance.net_http_connect_on_start = options[:net_http_connect_on_start] end
Also aliased as: disallow_net_connect!
enable!(options = {})
click to toggle source
# File lib/webmock/webmock.rb, line 38 def self.enable!(options = {}) except = [options[:except]].flatten.compact HttpLibAdapterRegistry.instance.each_adapter do |name, adapter| adapter.disable! adapter.enable! unless except.include?(name) end end
globally_stub_request(order = :before_local_stubs, &block)
click to toggle source
# File lib/webmock/webmock.rb, line 155 def self.globally_stub_request(order = :before_local_stubs, &block) WebMock::StubRegistry.instance.register_global_stub(order, &block) end
hide_body_diff!()
click to toggle source
# File lib/webmock/webmock.rb, line 109 def self.hide_body_diff! Config.instance.show_body_diff = false end
hide_stubbing_instructions!()
click to toggle source
# File lib/webmock/webmock.rb, line 117 def self.hide_stubbing_instructions! Config.instance.show_stubbing_instructions = false end
included(clazz)
click to toggle source
# File lib/webmock/webmock.rb, line 5 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
net_connect_allowed?(uri = nil)
click to toggle source
# File lib/webmock/webmock.rb, line 63 def self.net_connect_allowed?(uri = nil) return !!Config.instance.allow_net_connect if uri.nil? if uri.is_a?(String) uri = WebMock::Util::URI.normalize_uri(uri) end !!Config.instance.allow_net_connect || ( Config.instance.allow_localhost && WebMock::Util::URI.is_uri_localhost?(uri) || Config.instance.allow && net_connect_explicit_allowed?(Config.instance.allow, uri) ) end
net_connect_explicit_allowed?(allowed, uri=nil)
click to toggle source
# File lib/webmock/webmock.rb, line 85 def self.net_connect_explicit_allowed?(allowed, uri=nil) case allowed when Array allowed.any? { |allowed_item| net_connect_explicit_allowed?(allowed_item, uri) } when Regexp (uri.to_s =~ allowed) != nil || (uri.omit(:port).to_s =~ allowed) != nil && uri.port == uri.default_port when String allowed == uri.to_s || allowed == uri.host || allowed == "#{uri.host}:#{uri.port}" || allowed == "#{uri.scheme}://#{uri.host}:#{uri.port}" || allowed == "#{uri.scheme}://#{uri.host}" && uri.port == uri.default_port else if allowed.respond_to?(:call) allowed.call(uri) end end end
net_http_connect_on_start?(uri)
click to toggle source
# File lib/webmock/webmock.rb, line 75 def self.net_http_connect_on_start?(uri) allowed = Config.instance.net_http_connect_on_start || false if [true, false].include?(allowed) allowed else net_connect_explicit_allowed?(allowed, uri) end end
print_executed_requests()
click to toggle source
# File lib/webmock/webmock.rb, line 151 def self.print_executed_requests puts WebMock::RequestExecutionVerifier.executed_requests_message end
registered_request?(request_signature)
click to toggle source
# File lib/webmock/webmock.rb, line 147 def self.registered_request?(request_signature) WebMock::StubRegistry.instance.registered_request?(request_signature) end
reset!()
click to toggle source
# File lib/webmock/webmock.rb, line 129 def self.reset! WebMock::RequestRegistry.instance.reset! WebMock::StubRegistry.instance.reset! end
reset_callbacks()
click to toggle source
# File lib/webmock/webmock.rb, line 139 def self.reset_callbacks WebMock::CallbackRegistry.reset end
reset_webmock()
click to toggle source
# File lib/webmock/webmock.rb, line 134 def self.reset_webmock WebMock::Deprecation.warning("WebMock.reset_webmock is deprecated. Please use WebMock.reset! method instead") reset! end
show_body_diff!()
click to toggle source
# File lib/webmock/webmock.rb, line 105 def self.show_body_diff! Config.instance.show_body_diff = true end
show_body_diff?()
click to toggle source
# File lib/webmock/webmock.rb, line 113 def self.show_body_diff? Config.instance.show_body_diff end
show_stubbing_instructions!()
click to toggle source
# File lib/webmock/webmock.rb, line 121 def self.show_stubbing_instructions! Config.instance.show_stubbing_instructions = true end
show_stubbing_instructions?()
click to toggle source
# File lib/webmock/webmock.rb, line 125 def self.show_stubbing_instructions? Config.instance.show_stubbing_instructions end
version()
click to toggle source
# File lib/webmock/webmock.rb, line 26 def self.version VERSION end
Public Instance Methods
request(method, uri)
click to toggle source
# File lib/webmock/webmock.rb, line 11 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