Skip to content

Commit

Permalink
use forme to build html forms
Browse files Browse the repository at this point in the history
  • Loading branch information
nouse committed Jul 22, 2011
1 parent 2676efd commit 6eb93f5
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 21 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
*.sqlite
*.rbc
*.swp
Gemfile.lock
.rvmrc
4 changes: 3 additions & 1 deletion sinatra+sequel/Gemfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
source "http://rubygems.org"
gem "sinatra", "~> 1.2.0"
gem "sequel"
gem "amalgalite"
gem "slim"
gem "pg"
gem "forme"

group :development, :test do
gem 'capybara'
gem "ffaker"
gem 'rspec'
gem 'machinist', "~>1.0.6"
gem 'unicorn'
end
2 changes: 1 addition & 1 deletion sinatra+sequel/config.ru
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'bundler/setup'

require 'sequel'
DB = Sequel.connect("amalgalite://notes.sqlite")
DB = Sequel.connect("postgres:///notes_dev")

require './notes'
run Sinatra::Application
8 changes: 6 additions & 2 deletions sinatra+sequel/notes.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
require 'sinatra'
require 'sequel'
require 'slim'
require 'forme'
$LOAD_PATH << File.dirname(__FILE__)+"/lib"
require 'text_helpers'
require 'forme/sinatra'

configure :development do
set :slim, :pretty => true
Expand All @@ -17,6 +19,8 @@

class Note < Sequel::Model
end
Note.plugin :prepared_statements_safe
Note.plugin :forme
end

helpers TextHelpers
Expand All @@ -37,12 +41,12 @@ class Note < Sequel::Model
end

get '/notes/new' do
@note = Note.new
@forme = Forme::Form.new(Note.new)
slim(:new)
end

get '/notes/:id/edit' do |id|
@note = Note[:id => id]
@forme = Forme::Form.new Note[:id => id]
slim(:edit)
end

Expand Down
3 changes: 2 additions & 1 deletion sinatra+sequel/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
require 'sequel'
require 'machinist/sequel'
require 'text_helpers'
require 'logger'

RSpec.configure do |config|
config.include TextHelpers, :type => :request
config.include TextHelpers, :type => :acceptance
end

SINATRA_ROOT = File.dirname(__FILE__)+'/..'
DB = Sequel.amalgalite
DB = Sequel.connect('postgres:///notes_test')
set :environment, :test
set :root, SINATRA_ROOT
Capybara.app = Sinatra::Application
Expand Down
8 changes: 5 additions & 3 deletions sinatra+sequel/views/edit.slim
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
form action="/notes/#{@note.id}" method="post"
- @forme.form do |f|
== f.open :action => "/notes/#{f.obj.id}", :method => 'post'
input type="hidden" name="_method" value="put"
== slim :fields
== f.input :title, :label => 'Description'
== f.input :body, :as => :textarea, :label => 'Content'
input type="submit" value="Update"
form action="/notes/#{@note.id}" method="post"
form action="/notes/#{@forme.obj.id}" method="post"
input type="hidden" name="_method" value="delete"
input type="submit" value='Remove'
== slim :back_to_top
11 changes: 0 additions & 11 deletions sinatra+sequel/views/fields.slim

This file was deleted.

7 changes: 5 additions & 2 deletions sinatra+sequel/views/new.slim
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
form action="/notes" method="post"
== slim :fields
- @forme.form do |f|
== f.open :action => '/notes', :method => 'post'
== f.input :title, :label => 'Description'
== f.input :body, :as => :textarea, :label => 'Content'
input type="submit" value="Create"
== f.close
== slim :back_to_top

0 comments on commit 6eb93f5

Please sign in to comment.