Sha256: 73cd6fb6fa0ff0feea078db034385b6958e87fedb1dc0ab89db5d1412c08dbc7

Contents?: true

Size: 882 Bytes

Versions: 14

Compression:

Stored size: 882 Bytes

Contents

class VagrantHosts::Command::Puppetize < Vagrant.plugin('2', :command)

  include VagrantHosts::Command::Helpers
  include VagrantHosts::Addresses

  def initialize(argv, env)
    @argv     = argv
    @env      = env
    @cmd_name = 'hosts puppetize'

    split_argv
  end

  def execute
    argv = parse_options(parser)

    @env.ui.info format_hosts
    0
  end

  private

  def format_hosts
    vagrant_hosts(@env).inject('') do |str, (address, aliases)|
      str << "host { '#{aliases.shift}':\n  ip => '#{address}',\n"
      str << "host_aliases => ['#{aliases.join('\', \' ')}'],\n" if (!aliases.empty?)
      str << "}\n"
    end
  end

  def parser
    OptionParser.new do |o|
      o.banner = "Usage: vagrant #{@cmd_name} [<args>]"
      o.separator ''

      o.on('-h', '--help', 'Display this help message') do
        puts o
        exit 0
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vagrant-hosts-2.5.0 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.4.0 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.3.0 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.2.4 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.2.3 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.2.2 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.2.1 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.2.0 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.5 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.4 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.3 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.2 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.1 lib/vagrant-hosts/command/puppetize.rb
vagrant-hosts-2.1.0 lib/vagrant-hosts/command/puppetize.rb