Sha256: b51c769a57987975ffaa4dc2a93986353520d35f0b15fc3700f932fdf799e89a
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require "logger" require "net/http" require "net/https" require "benchmark" require "samuel/net_http" require "samuel/request" module Samuel extend self attr_writer :config, :logger def logger @logger = nil if !defined?(@logger) return @logger if !@logger.nil? if defined?(RAILS_DEFAULT_LOGGER) @logger = RAILS_DEFAULT_LOGGER else @logger = Logger.new(STDOUT) end end def config Thread.current[:__samuel_config] ? Thread.current[:__samuel_config] : @config end def log_request(http, request, &block) request = Request.new(http, request, block) request.execute_and_log! request.response end def with_config(options = {}) original_config = config.dup nested = !Thread.current[:__samuel_config].nil? Thread.current[:__samuel_config] = original_config.merge(options) yield Thread.current[:__samuel_config] = nested ? original_config : nil end def reset_config Thread.current[:__samuel_config] = nil @config = {:label => "HTTP", :filtered_params => []} end end Samuel.reset_config
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
chrisk-samuel-0.2.0 | lib/samuel.rb |
samuel-0.2.0 | lib/samuel.rb |