Last change
on this file since 30960 was 30960, checked in by davidb, 7 years ago |
Switch to using Puppet to provision machine. Strongly based on files developed for spark-hdfs cluster
|
File size:
925 bytes
|
Line | |
---|
1 | module Puppet::Parser::Functions
|
---|
2 | newfunction(:basename, :type => :rvalue, :doc => <<-EOS
|
---|
3 | Strips directory (and optional suffix) from a filename
|
---|
4 | EOS
|
---|
5 | ) do |arguments|
|
---|
6 |
|
---|
7 | if arguments.size < 1 then
|
---|
8 | raise(Puppet::ParseError, "basename(): No arguments given")
|
---|
9 | elsif arguments.size > 2 then
|
---|
10 | raise(Puppet::ParseError, "basename(): Too many arguments given (#{arguments.size})")
|
---|
11 | else
|
---|
12 |
|
---|
13 | unless arguments[0].is_a?(String)
|
---|
14 | raise(Puppet::ParseError, 'basename(): Requires string as first argument')
|
---|
15 | end
|
---|
16 |
|
---|
17 | if arguments.size == 1 then
|
---|
18 | rv = File.basename(arguments[0])
|
---|
19 | elsif arguments.size == 2 then
|
---|
20 |
|
---|
21 | unless arguments[1].is_a?(String)
|
---|
22 | raise(Puppet::ParseError, 'basename(): Requires string as second argument')
|
---|
23 | end
|
---|
24 |
|
---|
25 | rv = File.basename(arguments[0], arguments[1])
|
---|
26 | end
|
---|
27 |
|
---|
28 | end
|
---|
29 |
|
---|
30 | return rv
|
---|
31 | end
|
---|
32 | end
|
---|
33 |
|
---|
34 | # vim: set ts=2 sw=2 et :
|
---|
Note:
See
TracBrowser
for help on using the repository browser.