Skip to content

Instantly share code, notes, and snippets.

@DaveEveritt
Created May 2, 2012 14:05
Show Gist options
  • Save DaveEveritt/2576753 to your computer and use it in GitHub Desktop.
Save DaveEveritt/2576753 to your computer and use it in GitHub Desktop.
Test an SQLite connection for Camping
require 'camping'
Camping.goes :Sqltest
module Sqltest::Models
class User < Base
end
class CreateTables < V 1.0
def self.up # should this now be self.change ?
create_table :sqltest_users, :force => true do |t|
t.column :id, :integer, :null => false
t.column :name, :string, :limit => 255
t.column :password, :string, :limit => 255
end
def self.down
drop_table :sqltest_users
end
end
end
end
module Sqltest::Controllers
class Index < R '/'
def get
# creates a new user:
user = User.new()
user.id = "mytest"
user.name = "My Test"
user.password = "testpass"
user.save
$sqltest = 'created'
# to remove user just created, comment code above,
# uncomment code below, reload in browser:
# user = User.find("mytest")
# user.destroy()
# $sqltest = 'removed'
render :fin
end
end
end
module Sqltest::Views
def fin
"Camping SQLite test finished, no errors. User: " + $sqltest
end
end
def Sqltest.create
Sqltest::Models.create_schema :assume => (Sqltest::Models::User.table_exists? ? 1.0 : 0.0)
end
# adapted from:
# http://www.slideshare.net/feyeleanor/camping-going-off-the-rails-with-ruby
# slide 40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment