Class: Mihari::Database
- Inherits:
-
Object
- Object
- Mihari::Database
- Defined in:
- lib/mihari/database.rb
Overview
Database
Class Method Summary collapse
-
.close ⇒ Object
Close DB connection(s).
-
.connect ⇒ Object
Establish DB connection.
- .connected? ⇒ Boolean
-
.migrate(direction) ⇒ Object
DB migration.
- .with_db_connection ⇒ Object
Class Method Details
.close ⇒ Object
Close DB connection(s)
166 167 168 169 170 |
# File 'lib/mihari/database.rb', line 166 def close return unless connected? ActiveRecord::Base.connection_handler.clear_active_connections! end |
.connect ⇒ Object
Establish DB connection
149 150 151 152 153 154 |
# File 'lib/mihari/database.rb', line 149 def connect return if connected? ActiveRecord::Base.establish_connection Mihari.config.database_url.to_s ActiveRecord::Base.logger = Logger.new($stdout) if Mihari.development? end |
.connected? ⇒ Boolean
159 160 161 |
# File 'lib/mihari/database.rb', line 159 def connected? ActiveRecord::Base.connected? end |
.migrate(direction) ⇒ Object
DB migration
142 143 144 |
# File 'lib/mihari/database.rb', line 142 def migrate(direction) schemas.each { |schema| schema.migrate direction } end |
.with_db_connection ⇒ Object
172 173 174 175 176 177 178 179 |
# File 'lib/mihari/database.rb', line 172 def with_db_connection Mihari::Database.connect unless connected? yield rescue ActiveRecord::StatementInvalid Mihari.logger.error("DB migration is not yet complete. Please run 'mihari db migrate'.") ensure Mihari::Database.close end |