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!
disallow_net_connect!(options = {})
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
enable_net_connect!(options = {})
Alias for: allow_net_connect!
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
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