Sha256: 6916633ae011716261e63aa016086ce2398f6adefc70df7f7bdf73e91f219fe2

Contents?: true

Size: 1.07 KB

Versions: 64

Compression:

Stored size: 1.07 KB

Contents

module Vagrant
  module Action
    module Builtin
      # This middleware is meant to be used with Call and can check if
      # a machine is in the given state ID.
      class IsState
        # Note: Any of the arguments can be arrays as well.
        #
        # @param [Symbol] target_state The target state ID that means that
        #   the machine was properly shut down.
        # @param [Symbol] source_state The source state ID that the machine
        #   must be in to be shut down.
        def initialize(app, env, check, **opts)
          @app    = app
          @logger = Log4r::Logger.new("vagrant::action::builtin::is_state")
          @check  = check
          @invert = !!opts[:invert]
        end

        def call(env)
          @logger.debug("Checking if machine state is '#{@check}'")
          state = env[:machine].state.id
          @logger.debug("-- Machine state: #{state}")

          env[:result] = @check == state
          env[:result] = !env[:result] if @invert
          @app.call(env)
        end
      end
    end
  end
end

Version data entries

64 entries across 57 versions & 8 rubygems

Version Path
vagrant-unbundled-1.9.8.1 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.9.7.1 lib/vagrant/action/builtin/is_state.rb
vagrant-aws-mkubenka-0.7.2.pre.14 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/lib/vagrant/action/builtin/is_state.rb
vagrant-aws-mkubenka-0.7.2.pre.11 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/lib/vagrant/action/builtin/is_state.rb
vagrant-aws-mkubenka-0.7.2.pre.10 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/lib/vagrant/action/builtin/is_state.rb
vagrant-aws-mkubenka-0.7.2.pre.9 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.9.5.1 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.9.1.1 lib/vagrant/action/builtin/is_state.rb
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/lib/vagrant/action/builtin/is_state.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/lib/vagrant/action/builtin/is_state.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/lib/vagrant/action/builtin/is_state.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.5.2 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.5.1 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.4.2 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.4.1 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.1.2 lib/vagrant/action/builtin/is_state.rb
vagrant-unbundled-1.8.1.1 lib/vagrant/action/builtin/is_state.rb
vagrant-cloudstack-1.2.0 vendor/bundle/bundler/gems/vagrant-c84e05fd063f/lib/vagrant/action/builtin/is_state.rb
vagrant-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-b421af58e8b3/lib/vagrant/action/builtin/is_state.rb