module Staticd::Database
Public Class Methods
setup(environment, database_url)
click to toggle source
Initialize the database.
It support the test, development and production environment. Database
logger is silent in test environment, verbose in development environment, and only displaying errors in production.
# File lib/staticd/database.rb, line 16 def self.setup(environment, database_url) raise "No environment given for the database" unless environment raise "No database_url given" unless database_url environment = environment.to_sym log_enabled, destination, level = case environment when :development [true, '$stdout', :debug] when :production [true, '$stderr', :error] else [false] end if log_enabled DataMapper::Logger.new(eval(destination), level) end DataMapper.setup(:default, database_url) DataMapper.finalize environment == :test ? DataMapper.auto_migrate! : DataMapper.auto_upgrade! end