source: other-projects/hathitrust/vagrant-solr-cluster/trunk/modules/stdlib/lib/puppet/parser/functions/basename.rb@ 30960

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 
1module 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
32end
33
34# vim: set ts=2 sw=2 et :
Note: See TracBrowser for help on using the repository browser.