Sha256: 47426adc6a4345132008579011081ee2378207656d1d884816be2972b0e26be4

Contents?: true

Size: 1021 Bytes

Versions: 1

Compression:

Stored size: 1021 Bytes

Contents

module Catfish
  class CLI
    class Init
      attr_reader :options, :thor

      def initialize(options, thor)
        @options = options
        @thor = thor
      end

      def run
        p 'Initializing Catfish repository'

        templates = {
          'Catfishfile.tt' => 'Catfishfile',
          'Vagrantfile.tt' => 'Vagrantfile'
        }

        opts = {
          ssh_username: options['ssh-username'] || '{{YOUR_SSH_USERNAME}}',
          ssh_private_key_path: options['ssh-private-key-path'] || '{{PATH_TO_YOUR_SSH_PRIVATE_KEY}}',
          provisioners: options[:provisioners] || [],
          shell_paths: options['shell-paths'] || ['{{PATH_TO_YOUR_SCRIPT}}']
        }

        templates.each do |src, dst|
          thor.template(src, dst, opts)
        end
        p 'Repository initialized. Remember to:'
        p ' - Check your Vagrantfile and replace any placeholders'
        p ' - Edit your Catfish file and list target servers'
        p ' - Run catfish resolve'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
catfish-0.0.2 lib/catfish/cli/init.rb