Sha256: 864d814b8cc8de95f1c0cec488a456ba30cb2149817c33628b6062dbbdb64130

Contents?: true

Size: 738 Bytes

Versions: 31

Compression:

Stored size: 738 Bytes

Contents

require "shellwords"

module VagrantPlugins
  module CommunicatorWinRM
    module CommandFilters
      # Converts a *nix 'mkdir' command to a PowerShell equivalent
      class Mkdir
        def filter(command)
          # mkdir -p /some/dir
          # mkdir /some/dir
          cmd_parts = Shellwords.split(command.strip)
          dir = cmd_parts.pop
          while !dir.nil? && dir.start_with?('-')
            dir = cmd_parts.pop
          end
          # This will ignore any -p switches, which are redundant in PowerShell,
          # and ambiguous in PowerShell 4+
          return "mkdir \"#{dir}\" -force"
        end

        def accept?(command)
          command.start_with?('mkdir ')
        end
      end
    end
  end
end

Version data entries

31 entries across 27 versions & 4 rubygems

Version Path
vagrant-unbundled-2.3.6.0 plugins/communicators/winrm/command_filters/mkdir.rb
tamtam-vagrant-reload-1.2.1 vendor/cache/vagrant-2092df529ae7/plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.3.3.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.3.2.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.19.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.18.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.16.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.14.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-aws-mkubenka-0.7.2.pre.24 vendor/bundle/ruby/2.7.0/bundler/gems/vagrant-22795b161bf6/plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.10.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.9.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.8.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.7.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.6.2 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.6.1 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.6.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.5.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.4.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.3.0 plugins/communicators/winrm/command_filters/mkdir.rb
vagrant-unbundled-2.2.2.0 plugins/communicators/winrm/command_filters/mkdir.rb