diff options
author | Jeffrey J McCune <jeff.mccune@northstarlabs.net> | 2007-08-14 09:50:42 -0400 |
---|---|---|
committer | Jeffrey J McCune <jeff.mccune@northstarlabs.net> | 2007-08-14 09:50:42 -0400 |
commit | 58e3855bb1c98e45f7e366d0f1fc6d834e0e5e43 (patch) | |
tree | e76dfcaf9411eb2764e407a8bf93f03fc26bd82b /examples/code/modules/sample-module/lib/puppet | |
parent | ab42534ae243c24c8c702e38195a954ab52eaed9 (diff) | |
download | puppet-58e3855bb1c98e45f7e366d0f1fc6d834e0e5e43.tar.gz puppet-58e3855bb1c98e45f7e366d0f1fc6d834e0e5e43.tar.xz puppet-58e3855bb1c98e45f7e366d0f1fc6d834e0e5e43.zip |
Added optional per-module lib directory.
Puppet now looks for a lib directory inside each module bundle, and adds
the directory to the list searched by Puppet::Util::Autoload.
The intent is to facilitate more sophisticated virtual types and flexibility
within modules.
Diffstat (limited to 'examples/code/modules/sample-module/lib/puppet')
-rw-r--r-- | examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb b/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb new file mode 100644 index 000000000..9f732b5bc --- /dev/null +++ b/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb @@ -0,0 +1,36 @@ +# Copyright (C) David Schmitt <david@schmitt.edv-bus.at> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the Author nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +# Jeff McCune <jeff.mccune@northstarlabs.net> +# 2007-08-14 +# See: http://reductivelabs.com/trac/puppet/wiki/WritingYourOwnFunctions + +module Puppet::Parser::Functions + newfunction(:hostname_to_dn, :type => :rvalue, :doc => "Given 'foo.bar.com', return 'dc=foo,dc=bar,dc=com'.") do |args| + args[0].split(/\./).map do |s| "dc=%s"%[s] end.join(",") + end +end |