Skip to content

Instantly share code, notes, and snippets.

@migane
Created September 6, 2012 11:10
Show Gist options
  • Save migane/3654907 to your computer and use it in GitHub Desktop.
Save migane/3654907 to your computer and use it in GitHub Desktop.
Reverse world in sentence with rack and form
# my_app_ter.ru
use Rack::MethodOverride
map '/' do
form = <<-HERE
<form action="/reverse_word" method="post">
<input name="_method" type="hidden" value="put" />
<input name="sentence" type="text" value="" />
<input type="submit" value="Reverse the words order">
</form>
HERE
run lambda {|env| [200, {"Content-Type" => "text/html"}, [form]] }
end
map '/reverse_word' do
run lambda {|env|
req = Rack::Request.new env
res = Rack::Response.new
if(req.params['sentence'].class==NilClass || req.params['sentence'].split(" ").size < 2)
res.write("Please enter one sentence with at least two words to reverse it")
else(req.put?)
res.write("#{req.params['sentence'].split(' ').reverse.join(' ')}")
end
res.finish
}
end
# usage: rackup my_app_ter.ru
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment