Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (41 sloc) 1.23 KB


Start out by getting the DataMapper gem if you don't already have it, and then making sure it's in your application. A call to setup as usual will get the show started, and this example will include a 'Post' model.

require 'rubygems'
require 'sinatra'
require 'data_mapper' # metagem, requires common plugins too.

# need install dm-sqlite-adapter
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/blog.db")

class Post
  include DataMapper::Resource
  property :id, Serial
  property :title, String
  property :body, Text
  property :created_at, DateTime

# Perform basic sanity checks and initialize all relationships
# Call this when you've defined all your models

# automatically create the post table

Once that is all well and good, you can actually start developing your application!

get '/' do
  # get the latest 20 posts
  @posts = Post.all(:order => [ :id.desc ], :limit => 20)
  erb :index

Finally, the view at ./views/index.erb:

<% @posts.each do |post| %>
  <h3><%= post.title %></h3>
  <p><%= post.body %></p>
<% end %>

For more information on DataMapper, check out the project documentation.