class Stairs::Steps::Postgresql

Public Instance Methods

run() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 7
def run
  set_database_name
  set_test_database_name
  set_username
  set_password

  write contents, 'config/database.yml'
end

Private Instance Methods

app_name() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 46
def app_name
  @app_name ||= Rails.application.class.parent_name.downcase
end
contents() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 50
def contents
  @contents ||= template
end
gem_root() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 58
def gem_root
  "#{File.dirname(__FILE__)}/../../.."
end
set_database_name() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 18
def set_database_name
  contents.gsub!(
    '{{database_name}}',
    provide('Database name', default: "#{app_name}_development")
  )
end
set_password() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 39
def set_password
  contents.gsub!(
    '{{password}}',
    provide('Password', default: '')
  )
end
set_test_database_name() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 25
def set_test_database_name
  contents.gsub!(
    '{{test_database_name}}',
    provide('Test database name', default: "#{app_name}_test")
  )
end
set_username() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 32
def set_username
  contents.gsub!(
    '{{username}}',
    provide('User', default: `whoami`.strip)
  )
end
template() click to toggle source
# File lib/stairs/steps/postgresql.rb, line 54
def template
  File.read "#{gem_root}/templates/postgresql/database.yml"
end