Skip to content

Instantly share code, notes, and snippets.

require 'rubygems'
require 'sinatra'
get '/' do
erb :new
end
require 'dm-core'
require 'dm-validations'
require 'dm-migrations'
DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/duopaste.sqlite3")
class Paste
include DataMapper::Resource
property :id, Serial
property :body, Text, :required => true
end
DataMapper.auto_upgrade!
<div class="snippet">
<form action="/" method="POST">
<textarea name="paste" id="snippet_body" rows="20"></textarea>
<br/><input type="submit" value="Save"/>
</form>
</div>
<div class="snippet">
<div><%= @snippet.body %></div>
<br/><a href="/">Ajouter un snippet</a>
</div>
get '/' do
erb :new
end
post '/' do
@paste = Paste.new(:body => params[:paste])
if @paste.save
redirect "#{@paste.id}"
else
redirect '/'
require 'duopaste'
run Sinatra::Application
$ ruby duopaste.rb
== Sinatra/1.0 has taken the stage on 4567 for development with backup from Mongrel
solveRPN :: String -> Float
solveRPN = head . foldl ff [] . words
where ff (x:y:ys) "*" = (x * y):ys
ff (x:y:ys) "+" = (x + y):ys
ff (x:y:ys) "-" = (y - x):ys
ff (x:y:ys) "/" = (y / x):ys
ff (x:y:ys) "^" = (y ** x):ys
ff (x:y:ys) "log" = (logBase x y):ys
ff (x:xs) "ln" = log x:xs
ff xs "sum" = [sum xs]