class Preseason::Config::Database

Attributes

database[RW]
password[RW]
username[R]

Public Instance Methods

adapter_name() click to toggle source
# File lib/preseason/config/database.rb, line 30
def adapter_name
  adapters[database]
end
ask_user() click to toggle source
# File lib/preseason/config/database.rb, line 9
def ask_user
  self.database ||= ask "What db will you be using?", :limited_to => gems.keys

  unless database == 'sqlite'
    self.username = ask "What is your #{database} database username? (leave blank for `whoami`)"
    self.password = ask "What is your #{database} database password? (leave blank for none)"
  end
end
gem_name() click to toggle source
# File lib/preseason/config/database.rb, line 34
def gem_name
  gems[database]
end
postgres?() click to toggle source
# File lib/preseason/config/database.rb, line 22
def postgres?
  database == 'postgres'
end
sqlite?() click to toggle source
# File lib/preseason/config/database.rb, line 26
def sqlite?
  database == 'sqlite'
end
username=(other) click to toggle source
# File lib/preseason/config/database.rb, line 18
def username=(other)
  @username = other.blank? ? (`whoami`).chomp : other
end

Private Instance Methods

adapters() click to toggle source
# File lib/preseason/config/database.rb, line 39
def adapters
  { 'postgres' => 'postgresql', 'mysql' => 'mysql2', 'sqlite' => 'sqlite3' }
end
gems() click to toggle source
# File lib/preseason/config/database.rb, line 43
def gems
  { 'postgres' => 'pg', 'mysql' => 'mysql2', 'sqlite' => 'sqlite3' }
end