Class: Init

Inherits:
Thor
  • Object
show all
Includes:
Mixin::Database, Mixin::Default, Mixin::Logger
Defined in:
lib/fox/interface/thor/init.rb

Instance Method Summary collapse

Methods included from Mixin::Database

#add_command, #add_model, #all_models, #check_if_version_available_for_model, #clear_default_model, #default_model_defined?, #get_default_model, #set_default_model, #set_default_model_version

Methods included from Mixin::Logger

#initialize

Methods included from Mixin::Default

#initialize, #languages

Instance Method Details

#initObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fox/interface/thor/init.rb', line 33

def init

  path_to_db_folder   = "#{Dir.pwd}/.fox"
  db_path             = "#{path_to_db_folder}/#{default_db_name}"

  # if database exist need stop
  abort("(EE) Found $PWD/.fox - Project already initialized, aborting") if( File.exist?(db_path) && !options['force'] )

  FileUtils.mkdir_p("#{path_to_db_folder}")

  DataMapper.setup(:default, %Q(sqlite:///#{db_path}))
  DataMapper.auto_migrate!
  DataMapper.finalize

  puts "(II) Project initialized"
end