Class: Gritano::Console::Installer

Inherits:
Base
  • Object
show all
Defined in:
lib/gritano/console/installer.rb

Instance Method Summary collapse

Methods inherited from Base

add_command, before_each_command, #before_each_command_filter, bin_name, bin_name=, #check_git, #check_gritano, commands, commands=, #execute, #execute_without_filters, help, #unknown_command

Constructor Details

#initialize(stdin = STDIN, home_dir = Etc.getpwuid.dir) ⇒ Installer

Returns a new instance of Installer.



5
6
7
8
9
10
# File 'lib/gritano/console/installer.rb', line 5

def initialize(stdin = STDIN, home_dir = Etc.getpwuid.dir)
  @home_dir = home_dir
  @stdin = stdin
  @ssh_path = File.join(@home_dir, '.ssh')
  super(@stdin, @home_dir)
end

Instance Method Details

#create_authorization_keysObject



44
45
46
# File 'lib/gritano/console/installer.rb', line 44

def create_authorization_keys
  File.open(File.join(@ssh_path, 'authorized_keys'), 'w').write(Key.authorized_keys)
end

#create_databaseObject



36
37
38
39
40
41
42
# File 'lib/gritano/console/installer.rb', line 36

def create_database
  db_config = YAML::load(File.open(File.join(@home_dir, '.gritano', 'database.yml')))
  ActiveRecord::Base.establish_connection(db_config)
  ActiveRecord::Migrator.migrate(
    File.join(File.dirname(__FILE__),'..', '..', '..', 'db/migrate'), 
    ENV["VERSION"] ? ENV["VERSION"].to_i : nil )
end

#create_gritano_dirsObject



16
17
18
19
# File 'lib/gritano/console/installer.rb', line 16

def create_gritano_dirs
  FileUtils.mkdir_p(File.join(@home_dir, '.gritano')) unless File.exist?(File.join(@home_dir, '.gritano'))
  FileUtils.mkdir_p(File.join(@home_dir, '.ssh')) unless File.exist?(File.join(@home_dir, '.ssh'))
end

#create_sqlite_configObject



21
22
23
24
25
26
27
28
# File 'lib/gritano/console/installer.rb', line 21

def create_sqlite_config
  File.open(File.join(@home_dir, '.gritano', 'database.yml'), "w") do |f|
    f.write("adapter: sqlite3\ndatabase: #{File.join(@home_dir, '.gritano', 'database.db')}\n")
  end
  if File.exist?(File.join(@home_dir, '.gritano', 'database.db'))
    FileUtils.rm(File.join(@home_dir, '.gritano', 'database.db'))
  end
end