Sha256: 7740ddc333d0a508322a2add68aa81a8c5049756c346b9a398a673b1ad23bd56

Contents?: true

Size: 819 Bytes

Versions: 14

Compression:

Stored size: 819 Bytes

Contents

require 'log4r'
require_relative "mixin_machine_index"

module VagrantPlugins
  module Skytap
    module Action
      # Stores some provider-specific data in Vagrant's global machine index.
      class StoreExtraData
        include MixinMachineIndex
        attr_reader :env

        def initialize(app, env)
          @app = app
          @env = env
          @logger = Log4r::Logger.new("vagrant_skytap::action::store_extra_data")
        end

        def call(env)
          entry = machine_index_entry
          entry.extra_data.merge!(provider_extra_data)
          entry = machine_index.set(entry)
          machine_index.release(entry)

          @app.call(env)
        end

        def provider_extra_data
          {
            'vm_id' => env[:machine].id
          }
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vagrant-skytap-0.2.2 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.2.1 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.2.0 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.11 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.10 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.9 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.8 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.7 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.6 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.5 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.4 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.3 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.2 lib/vagrant-skytap/action/store_extra_data.rb
vagrant-skytap-0.1.1a lib/vagrant-skytap/action/store_extra_data.rb