Sha256: 5ce7506022ec7884279f5ea654f91d67aa697cc4abb092095c33a5895a5d62b2

Contents?: true

Size: 913 Bytes

Versions: 5

Compression:

Stored size: 913 Bytes

Contents

module CurbFu
  module Test
    class RequestLogger
      class << self
        def entries(host)
          @entries ||= {}
          @entries[host] ||= []
        end
    
        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
        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
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
curb-fu-0.6.2 lib/curb-fu/test/request_logger.rb
curb-fu-0.6.1 lib/curb-fu/test/request_logger.rb
curb-fu-0.6.0 lib/curb-fu/test/request_logger.rb
curb-fu-0.4.4 lib/curb-fu/test/request_logger.rb
curb-fu-0.4.3 lib/curb-fu/test/request_logger.rb