class Ghost::Seeder::DbConnection

Public Class Methods

new(environment) click to toggle source
# File lib/ghost/seeder/db_connection.rb, line 6
def initialize(environment)
  @environment = environment
  configure!
end

Public Instance Methods

connect!() click to toggle source
# File lib/ghost/seeder/db_connection.rb, line 11
def connect!
  ActiveRecord::Base.establish_connection(
    @connection_options
  )
end
disconnect!() click to toggle source
# File lib/ghost/seeder/db_connection.rb, line 17
def disconnect!
  ActiveRecord::Base.connection.disconnect!
end

Private Instance Methods

configure!() click to toggle source
# File lib/ghost/seeder/db_connection.rb, line 23
def configure!
  case @environment
  when "development"
    @db_gem = "sqlite3"
    require(@db_gem)
    monkey_patch_sqlite3!
    @connection_options = {
      adapter: @db_gem,
      database: Dir.pwd + "/content/data/ghost-dev.db"
    }
  else
    @db_gem = "pg"
    require(@db_gem)
    db = URI.parse(ENV.fetch("DATABASE_URL"))
    @connection_options = {
      host: db.host,
      encoding: "utf8",
      username: db.user,
      password: db.password,
      database: db.path[1..-1],
      adapter: db.scheme == "postgres" ? "postgresql" : db.scheme
    }
  end
end
monkey_patch_sqlite3!() click to toggle source
# File lib/ghost/seeder/db_connection.rb, line 48
def monkey_patch_sqlite3!
  require "ghost/seeder/monkey_patch_sqlite3"
end