Class: CurbFu::Test::RequestLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/curb-fu/test/request_logger.rb

Class Method Summary collapse

Class Method Details

.entries(host) ⇒ Object



5
6
7
8
# File 'lib/curb-fu/test/request_logger.rb', line 5

def entries(host)
  @entries ||= {}
  @entries[host] ||= []
end

.log(env) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/curb-fu/test/request_logger.rb', line 10

def log(env)
  req = Rack::Request.new(env)
  url = env['PATH_INFO']
  post_params = req.POST
  host = env['HTTP_HOST'] || env['SERVER_NAME']
  entries(host) << { :url => url, :params => post_params }
end

.requested?(host, url, params = nil) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
25
26
27
# File 'lib/curb-fu/test/request_logger.rb', line 17

def requested?(host, url, params = nil)
  url_found = (url.is_a?(String)) ?
    !entries(host).find { |entry| entry[:url] == url }.nil? :
    !entries(host).find { |entry| entry[:url] =~ url }.nil?
  if params.nil?
    return url_found
  else
    params_found = !entries(host).find { |entry| entry[:params] == params }.nil?
    url_found && params_found
  end
end