Class: Shippy::Cli::Init

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/shippy/cli/init.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure? ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/shippy/cli/init.rb', line 4

def self.exit_on_failure?
  true
end

.source_root ⇒ Object



8
9
10
# File 'lib/shippy/cli/init.rb', line 8

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#add_shippy_to_gemfile ⇒ Object



22
23
24
25
26
27
28
# File 'lib/shippy/cli/init.rb', line 22

def add_shippy_to_gemfile
  unless File.read("Gemfile").include?("shippy")
    insert_into_file "Gemfile", "gem 'shippy', '~> #{Shippy::VERSION}'"
  end

  run "bundle install", abort_on_failure: false
end

#create_config_file ⇒ Object



12
13
14
# File 'lib/shippy/cli/init.rb', line 12

def create_config_file
  copy_file "templates/config/shippy.yml", "config/shippy.yml"
end

#create_default_apps ⇒ Object



34
35
36
# File 'lib/shippy/cli/init.rb', line 34

def create_default_apps
  directory "templates/apps", "apps"
end

#genegate_gitignore ⇒ Object



42
43
44
45
46
47
48
# File 'lib/shippy/cli/init.rb', line 42

def genegate_gitignore
  create_file ".gitignore"
  insert_into_file ".gitignore", "/.bundle/\n"
  insert_into_file ".gitignore", "/builds/\n"
  insert_into_file ".gitignore", "/config/secrets.yml\n"
  insert_into_file ".gitignore", "/config/master.key\n"
end

#generate_binstubs ⇒ Object



30
31
32
# File 'lib/shippy/cli/init.rb', line 30

def generate_binstubs
  run "bundle binstubs shippy"
end

#generate_secret! ⇒ Object



50
51
52
# File 'lib/shippy/cli/init.rb', line 50

def generate_secret!
  Shippy::SecretsManager.new.ensure_key_exists!
end

#init_gemfile ⇒ Object



16
17
18
19
20
# File 'lib/shippy/cli/init.rb', line 16

def init_gemfile
  return if ::File.exist?("Gemfile")

  run "bundle init", abort_on_failure: false
end

#init_git ⇒ Object



38
39
40
# File 'lib/shippy/cli/init.rb', line 38

def init_git
  run "git init"
end