Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / shell_split.rb
1 require 'shellwords'
2 #
3 # shell_split.rb
4 #
5 module Puppet::Parser::Functions
6   newfunction(:shell_split, :type => :rvalue, :doc => <<-DOC
7     @summary
8       Splits a string into an array of tokens in the same way the Bourne shell does.
9
10     @return
11       array of tokens
12
13     This function behaves the same as ruby's Shellwords.shellsplit() function
14   DOC
15              ) do |arguments|
16
17     raise(Puppet::ParseError, "shell_split(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.size != 1
18
19     string = arguments[0].to_s
20
21     result = Shellwords.shellsplit(string)
22
23     return result
24   end
25 end
26
27 # vim: set ts=2 sw=2 et :