Sha256: 55b4b9fedb604352020a965ccbff133019f712146d3ebaae636fd5322f45e87a
Contents?: true
Size: 666 Bytes
Versions: 7
Compression:
Stored size: 666 Bytes
Contents
require 'rack' require 'murlsh' module Murlsh # Redirect to a random url from the database. class RandomServer < Server # Redirect to a random url from the database optionally matching a query. # # Redirect to root url if no urls match. def get(req) all_results = Murlsh::UrlResultSet.new(req['q'], 1, 1) url = if all_results.total_entries > 0 Murlsh::UrlResultSet.new(req['q'], rand(all_results.total_entries) + 1, 1).results[0].url else config.fetch('root_url') end resp = Rack::Response.new("<a href=\"#{url}\">#{url}</a>") resp.redirect(url) resp end end end
Version data entries
7 entries across 7 versions & 1 rubygems