Skip to content

Instantly share code, notes, and snippets.

@rahulkmr
Created April 6, 2012 22:39
Show Gist options
  • Save rahulkmr/2323625 to your computer and use it in GitHub Desktop.
Save rahulkmr/2323625 to your computer and use it in GitHub Desktop.
require 'sinatra'
$fnids = {}
$counter = 0
def store_fn(fn)
($fnids[$counter += 1] = fn) and $counter
end
def dispatch_fn(fnid)
fn = $fnids[fnid]
fn.nil? && 'Unknown or expired link' || fn[]
end
before do
halt dispatch_fn(params[:fnid].to_i) if params[:fnid]
end
get '/' do
<<-EOF
<form method="post">
<input name="name" />
<input type="submit" />
</form>
EOF
end
post '/' do
show_name = -> { "Hello #{params[:name]}" }
'<a href="?fnid=%s">Click here</a>' % store_fn(show_name)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment