module Taperole::Installer

Protected Instance Methods

install_tape() click to toggle source
# File lib/taperole/core/installer.rb, line 10
def install_tape
  add_tape_to_gitignore
  mkdir tapefiles_dir
  create_tape_files
  create_roles_dir
  create_inventory_file
  create_ssh_keys_dir
  handle_vagrantfile
end
uninstall_tape() click to toggle source
# File lib/taperole/core/installer.rb, line 20
def uninstall_tape
  rm "#{tapefiles_dir}/provision.yml"
  rm "#{tapefiles_dir}/deploy.yml"
  rm "#{tapefiles_dir}/tape_vars.yml"
  rm "#{tapefiles_dir}/rake.yml"
  rm "#{tapefiles_dir}/roles"
  rm "#{tapefiles_dir}/hosts"
  rm "#{tapefiles_dir}/dev_keys"
  rm "#{local_dir}/Vagrantfile"
end

Private Instance Methods

add_tape_to_gitignore() click to toggle source
# File lib/taperole/core/installer.rb, line 33
def add_tape_to_gitignore
  File.open('.gitignore', 'r+') { |f| f.puts '.tape' unless f.read =~ /^\.tape$/ }
end
copy_basic_examples() click to toggle source
# File lib/taperole/core/installer.rb, line 56
def copy_basic_examples
  %w(provision deploy tape_vars rake).each do |base_filename|
    copy_example(
      "templates/base/#{base_filename}.example.yml",
      "#{tapefiles_dir}/#{base_filename}.yml"
    )
  end
end
copy_static_app_examples() click to toggle source
# File lib/taperole/core/installer.rb, line 47
def copy_static_app_examples
  %w(provision deploy tape_vars).each do |base_filename|
    copy_example(
      "templates/static_html/#{base_filename}.example.yml",
      "#{tapefiles_dir}/#{base_filename}.yml"
    )
  end
end
create_inventory_file() click to toggle source
# File lib/taperole/core/installer.rb, line 70
def create_inventory_file
  copy_example 'templates/base/hosts.example', "#{tapefiles_dir}/hosts"
end
create_roles_dir() click to toggle source
# File lib/taperole/core/installer.rb, line 65
def create_roles_dir
  mkdir "#{tapefiles_dir}/roles"
  `touch #{tapefiles_dir}/roles/.keep`
end
create_ssh_keys_dir() click to toggle source
# File lib/taperole/core/installer.rb, line 74
def create_ssh_keys_dir
  mkdir "#{tapefiles_dir}/dev_keys"
end
create_tape_files() click to toggle source
# File lib/taperole/core/installer.rb, line 37
def create_tape_files
  if fe_app? && !rails_app?
    logger.info '🔎  JS/HTML app detected'.blue
    copy_static_app_examples
  elsif rails_app?
    logger.info '🔎  Rails app detected'.blue
    copy_basic_examples
  end
end
handle_vagrantfile() click to toggle source
# File lib/taperole/core/installer.rb, line 78
def handle_vagrantfile
  if options[:vagrant].nil?
    options[:vagrant] = ask('Are you going to use vagrant? (y/n): ')
  end
  if options[:vagrant]
    copy_example 'Vagrantfile', 'Vagrantfile'
  end
end