Convert to module format.

This commit is contained in:
Ken Barber 2011-04-29 09:27:10 +02:00
parent 781a872057
commit 99a93d366f
30 changed files with 45 additions and 3 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
pkg/

8
Modulefile Normal file
View file

@ -0,0 +1,8 @@
name 'kwilczynski/puppet-functions'
version '0.0.1'
source 'https://github.com/kwilczynski/puppet-functions'
author 'Krzysztof Wilczynski'
license 'UNKNOWN'
summary 'A set of basic functions for puppet.'
description 'This module provides a set of basic functions for puppet that extend the standard library.'
project_page 'https://github.com/kwilczynski/puppet-functions'

6
README
View file

@ -1,3 +1,3 @@
Various functions to use within Puppet will be stored here. Most of them
are to be run by Puppet in order to extend its Domain Specific Language (DSL)
abilities and functionality.
puppet-functions
This is the puppet-functions module.

View file

@ -0,0 +1,33 @@
#
# include.rb
#
# TODO(Krzysztof Wilczynski): We need to add support for regular expression ...
# TODO(Krzysztof Wilczynski): Support for strings and hashes too ...
module Puppet::Parser::Functions
newfunction(:includes, :type => :rvalue, :doc => <<-EOS
EOS
) do |arguments|
raise(Puppet::ParseError, "includes(): Wrong number of arguments " +
"given (#{arguments.size} for 2)") if arguments.size < 2
array = arguments[0]
if not array.is_a?(Array)
raise(Puppet::ParseError, 'includes(): Requires an array to work with')
end
item = arguments[1]
raise(Puppet::ParseError, 'includes(): You must provide item ' +
'to search for within given array') if item.empty?
result = array.include?(item)
return result
end
end
# vim: set ts=2 sw=2 et :