Sha256: 7967a3452c64ef459fa89045ae3ea2d6993ad364143365f06eff245683f43aaf

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

require 'tty-prompt'

module VagrantWizard
  require_relative 'vagrant-wizard/version'
  require_relative 'vagrant-wizard/plugin'
  require_relative 'vagrant-wizard/config'
  require_relative 'vagrant-wizard/prompt-display'

  class API
    attr_accessor :config_path
    attr_accessor :defaults_path
    attr_accessor :wizard_path
    attr_accessor :presets_dir_path
    attr_accessor :prompt_presets
    attr_accessor :prompt_overwrite
    attr_accessor :advanced

    def initialize
      @config_path = './config.yml'
      @defaults_path = './config.defaults.yml'
      @wizard_path = './config.wizard.yml'
      @presets_dir_path = './wizard-presets'
      @prompt_presets = true
      @prompt_overwrite = true
      @advanced = false
    end

    def require_config
      if File.exist?(@config_path)
        return YAML.load_file(@config_path)
      end

      puts "You do not have a configuration file set up for this Vagrant environment."

      confirmationString = 'Would you like to create a configuration file using Vagrant Wizard?'
      confirmation = TTY::Prompt.new

      if (confirmation.yes?(confirmationString))
        promptDisplay = PromptDisplay.new

        promptDisplay.wizard_path = @wizard_path
        promptDisplay.defaults_path = @defaults_path
        promptDisplay.presets_dir_path = @presets_dir_path
        promptDisplay.config_path = @config_path
        promptDisplay.prompt_presets = @prompt_presets
        promptDisplay.prompt_overwrite = @prompt_overwrite
        promptDisplay.advanced = @advanced
        
        promptDisplay.display

        # User has been prompted, check again for config file.
        if File.exist?(@config_path)
          return YAML.load_file(@config_path)
        end
      end

      return nil
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-wizard-0.3.0 lib/vagrant-wizard.rb