Class: Soaring::Initializer

Inherits:
Object
  • Object
show all
Defined in:
lib/soaring/initializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Initializer

Returns a new instance of Initializer.



3
4
5
# File 'lib/soaring/initializer.rb', line 3

def initialize(options)
  @options = options
end

Instance Method Details

#initialize_project(project_folder) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/soaring/initializer.rb', line 7

def initialize_project(project_folder)
  @project_folder = project_folder
  git_refspec = 'STABLE' #default to STABLE if not specified
  git_refspec = @options[:soar_sc_refspec] if @options[:soar_sc_refspec]

  Dir.mktmpdir { |dir|
    temporary_folder = dir
    temporary_soar_sc_folder = "#{temporary_folder}/soar_sc"
    `git --git-dir=/dev/null clone --quiet --progress --branch #{git_refspec} --depth=1 [email protected]:hetznerZA/soar_sc.git #{temporary_soar_sc_folder}`

    `yes | cp -rf #{temporary_soar_sc_folder}/config #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/docker #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/lib #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/smaak #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/config.ru #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/Gemfile #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/.ruby-gemset #{@project_folder}`
    `yes | cp -rf #{temporary_soar_sc_folder}/.ruby-version #{@project_folder}`
  }
end