Module: Samuel

Extended by:
Samuel
Included in:
Samuel
Defined in:
lib/samuel.rb,
lib/samuel/request.rb

Defined Under Namespace

Classes: Request

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#configObject



26
27
28
# File 'lib/samuel.rb', line 26

def config
  Thread.current[:__samuel_config] ? Thread.current[:__samuel_config] : @config
end

#loggerObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/samuel.rb', line 15

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

Instance Method Details

#log_request(http, request, &block) ⇒ Object



30
31
32
33
34
# File 'lib/samuel.rb', line 30

def log_request(http, request, &block)
  request = Request.new(http, request, block)
  request.perform_and_log!
  request.response
end

#reset_configObject



45
46
47
48
# File 'lib/samuel.rb', line 45

def reset_config
  Thread.current[:__samuel_config] = nil
  @config = {:label => nil, :labels => {"" => "HTTP"}, :filtered_params => []}
end

#with_config(options = {}) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/samuel.rb', line 36

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