Sha256: ba167aa9d560999585630eb0bc077410439b83f792f914f642b3db0e5344f0f7
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require "tcr/cassette" require "tcr/configuration" require "tcr/errors" require "tcr/recordable" require "tcr/socket_extension" require "tcr/ssl_socket_extension" require "tcr/version" require "socket" require "json" module TCR ALL_PORTS = '*' extend self def configure yield configuration end def configuration @configuration ||= Configuration.new end def cassette @cassette end def cassette=(v) @cassette = v end def disabled @disabled || false end def disabled=(v) @disabled = v end def record_port?(port) !disabled && configuration.hook_tcp_ports == ALL_PORTS || configuration.hook_tcp_ports.include?(port) end def use_cassette(name, options = {}, &block) raise ArgumentError, "`TCR.use_cassette` requires a block." unless block begin TCR.cassette = Cassette.build(name) yield TCR.cassette ensure TCR.cassette.finish TCR.cassette = nil end end def turned_off(&block) raise ArgumentError, "`TCR.turned_off` requires a block." unless block begin disabled = true yield ensure disabled = false end end end TCPSocket.prepend(TCR::SocketExtension) OpenSSL::SSL::SSLSocket.send(:include, TCR::SSLSocketExtension)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shopify-tcr-0.0.5.pre.shopify | lib/tcr.rb |