mixlib-shellout 3.3.3-universal-mingw32 → 3.3.6-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ffdff3b2db45006adab99c670f2059458c840b36b678c1c342c957cbe21e6a7
4
- data.tar.gz: 1312451c4439639db479b85a6c827916b6d949c72696a055f454c605ddcf63c9
3
+ metadata.gz: a2ca6b80894e80f19e886100bc1d243046f866eeb2ae14a8f386bfe512f9f762
4
+ data.tar.gz: 0ce25e6f0aa5fca6177c998366c2eae8b46f3e9f4da42ac0b4be3ffa59e13b3c
5
5
  SHA512:
6
- metadata.gz: b27a7b09db45fa03dc9f9aca9b39d7b1b941f155ad12c821b87d7de5ff581310bda534d211b19105a7fbdeffeefd58163e5f296944342bdf5a73933d2839bc99
7
- data.tar.gz: 0ffac4252bf8df6c13e7a0111aaf84bb3ed6e1eb2ad8a8086bd372b3ba660534a01afda812a9be180c419377e25acd775aa0b8020b775d0885bb2bfdf5203a23
6
+ metadata.gz: 82bb0343f22fce3b166bb3b94770941514cb591e4cc4c4fc91d72204239bb68c2ce7f27147b39aabdbfd0ab0e608cb548bb47719f0449e15c76485664ed79bf8
7
+ data.tar.gz: 5897bd1d4e07244b268e90d872e4be802967f7268da98647ad6a5898a15d50ffc56ff784dbd176de2483830097db51cf8e049f70ab55344780ceb4eb3eb6e069
@@ -143,14 +143,21 @@ module Mixlib
143
143
 
144
144
  # Join arguments into a string.
145
145
  #
146
- # If the argument ends with a whitespace, use it as-is. Otherwise, add
147
- # a space at the end
146
+ # Strips leading/trailing spaces from each argument. If an argument contains
147
+ # a space, it is quoted. Join into a single string with spaces between each argument.
148
148
  #
149
149
  # @param args [String] variable number of string arguments
150
150
  # @return [String] merged string
151
151
  #
152
- def __join_whitespace(*args)
153
- args.flatten.map { |e| e + (e.rstrip == e ? " " : "") }.join
152
+ def __join_whitespace(*args, quote: false)
153
+ args.map do |arg|
154
+ if arg.is_a?(Array)
155
+ __join_whitespace(*arg, quote: arg.count > 1)
156
+ else
157
+ arg = arg.include?(" ") ? sprintf('"%s"', arg) : arg if quote
158
+ arg.strip
159
+ end
160
+ end.join(" ")
154
161
  end
155
162
 
156
163
  def __shell_out_command(*args, **options)
@@ -165,7 +172,7 @@ module Mixlib
165
172
  if options[:input]
166
173
  command.concat "<<'COMMANDINPUT'\n"
167
174
  command.concat __join_whitespace(options[:input])
168
- command.concat "COMMANDINPUT\n"
175
+ command.concat "\nCOMMANDINPUT\n"
169
176
  end
170
177
  end
171
178
 
@@ -1,5 +1,5 @@
1
1
  module Mixlib
2
2
  class ShellOut
3
- VERSION = "3.3.3".freeze
3
+ VERSION = "3.3.6".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixlib-shellout
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.3
4
+ version: 3.3.6
5
5
  platform: universal-mingw32
6
6
  authors:
7
7
  - Chef Software Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-14 00:00:00.000000000 Z
11
+ date: 2025-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-utils