Skip to content

Instantly share code, notes, and snippets.

Created May 3, 2012 18:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/2587941 to your computer and use it in GitHub Desktop.
Save anonymous/2587941 to your computer and use it in GitHub Desktop.
main.rb
require 'sinatra'
require 'data_mapper'
require 'slim'
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/development.db")
class Task
include DataMapper::Resource
property :id, Serial
property :name, String, :required => true
property :completed_at, DateTime
end
###Task.auto_upgrade!
DataMapper.finalize
get '/' do
@tasks = Task.all
slim :index
end
get '/:task' do
@task = params[:task].split('-').join(' ').capitalize
slim :task
end
post '/' do
Task.create params[:task]
redirect to('/')
end
delete '/task/:id' do
Task.get(params[:id]).destroy
redirect to('/')
end
put '/task/:id' do
task = Task.get params[:id]
task.completed_at = task.completed_at.nil? ? Time.now : nil
task.save
redirect to('/')
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment