Class: Shippy::Cli::Init
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Shippy::Cli::Init
- Includes:
- Thor::Actions
- Defined in:
- lib/shippy/cli/init.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_shippy_to_gemfile ⇒ Object
- #create_config_file ⇒ Object
- #create_default_apps ⇒ Object
- #genegate_gitignore ⇒ Object
- #generate_binstubs ⇒ Object
- #generate_secret! ⇒ Object
- #init_gemfile ⇒ Object
- #init_git ⇒ Object
Class Method Details
.exit_on_failure? ⇒ 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 |