Sha256: a8f7bd3a34e84848ca7146777d7c83e929b67e9a31fec47cc839be672d3ba424

Contents?: true

Size: 1007 Bytes

Versions: 6

Compression:

Stored size: 1007 Bytes

Contents

module VagrantPlugins
  module Invade
    module Generator
      module MachinePart

        class Plugin

          attr_accessor :machine_name, :ui, :type, :plugin_data

          def initialize(machine_name, ui, type, plugin_data)
            @machine_name = machine_name
            @ui = ui
            @type = type
            @plugin_data = plugin_data
          end

          def generate
            case @type
            when 'hostmanager'
              plugin = Builder::Plugin::HostManager.new(@machine_name, @ui, @plugin_data)
            when 'winnfsd'
              plugin = Builder::Plugin::WinNFSd.new(@machine_name, @ui, @plugin_data)
            when 'r10k'
              plugin = Builder::Plugin::R10k.new(@machine_name, @ui, @plugin_data)
            else
              raise StandardError, "Plugin unknown or not set. Please check the plugin configuration."
            end

            plugin.build

            plugin.result
          end

        end

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vagrant-invade-0.5.5 lib/vagrant-invade/generator/machine_part/plugin.rb
vagrant-invade-0.5.4 lib/vagrant-invade/generator/machine_part/plugin.rb
vagrant-invade-0.5.3 lib/vagrant-invade/generator/machine_part/plugin.rb
vagrant-invade-0.5.2 lib/vagrant-invade/generator/machine_part/plugin.rb
vagrant-invade-0.5.1 lib/vagrant-invade/generator/machine_part/plugin.rb
vagrant-invade-0.5.0 lib/vagrant-invade/generator/machine_part/plugin.rb