Sha256: 664358abfd36e76d334863dbab817bb736c9c480fa6d89353bab973c44d0aebf
Contents?: true
Size: 821 Bytes
Versions: 2
Compression:
Stored size: 821 Bytes
Contents
module JumpBack class RefererInterpreter def back?(request, options) has_referer?(request) ? is_local?(request, options) ? true : false : false end def has_referer?(request) !request.env["HTTP_REFERER"].blank? and request.env["HTTP_REFERER"] != request.env["REQUEST_URI"] end def is_local?(request, options) return true if options[:offsite] host = host(request.env["HTTP_REFERER"]) !(host && host != request.host) end private def host(string) return URI.parse(string).host if uri? string end def uri?(string) uri = URI.parse(string) %w( http https ).include?(uri.scheme) rescue URI::BadURIError false rescue URI::InvalidURIError false end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jump_back-0.2.1 | lib/jump_back/referer_interpreter.rb |
jump_back-0.1.1 | lib/jump_back/referer_interpreter.rb |