Module: Staticd::Database
- Defined in:
- lib/staticd/database.rb
Class Method Summary collapse
-
.setup(environment, database_url) ⇒ Object
Initialize the database.
Class Method Details
.setup(environment, database_url) ⇒ Object
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.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# 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 |