Class: DBAdmin::Web

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/db_admin.rb,
lib/db_admin/run_web.rb

Constant Summary collapse

DBs =
[]

Class Method Summary collapse

Class Method Details

.convert_rails_adapter(adapter) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/db_admin.rb', line 43

def self.convert_rails_adapter(adapter)
  hash = { 'postgresql' => 'postgres', 'sqlite3' => 'sqlite', 'sqlserver' => 'tinytds' }

  return hash[adapter] if hash.keys.include?(adapter)

  return adapter
end

.database_config_yml_hashObject

Load Rails ‘./config/database.yml’ or ‘./database.yml’



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/db_admin.rb', line 14

def self.database_config_yml_hash
  db_hash = load_database_yml

  return {} if db_hash.empty?

  db_hash = db_hash['development'] if db_hash['development'].is_a?(Hash)

  return {} if ['adapter', 'database'].any? { |item| db_hash[item].to_s.empty? }

  return db_hash
    .slice('adapter', 'host', 'database', 'username', 'password', 'encoding', 'port')
    .transform_keys { |key| key == 'username' ? :user : key.to_sym }
    .transform_values { |value| convert_rails_adapter(value) }
end

.load_database_ymlObject



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/db_admin.rb', line 29

def self.load_database_yml
  require 'yaml'

  begin
    YAML.load_file('config/database.yml')
  rescue Errno::ENOENT
    begin
      YAML.load_file('database.yml')
    rescue Errno::ENOENT
      {}
    end
  end
end