summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-11Merge branch stdlib 4.0.0 releaseJeff McCune
* v4: Update gemspec for 4.0.0 Update function documentation for 4.0.0 Update Modulefile, README, CHANGELOG for stdlib-4.0.0
2013-04-11Update gemspec for 4.0.0Jeff McCune
2013-04-11Update function documentation for 4.0.0Jeff McCune
Without this patch the function documentation is out of sync with the functions contained in the standard library. This commit updates the functions. I generated the list using this sequence: cd ~/src/puppet git checkout 3.1.1 bundle exec puppet doc -r function > /tmp/puppet_functions.txt cd ~/src/stdlib bundle exec puppet doc -r function > /tmp/stdlib_functions.txt diff -U2 puppet_functions.txt stdlib_functions.txt | grep '^+' | perl -ple 's/^\+//' > functions.txt I then replaced the README function documentation with the contents of functions.txt which contains only the functions contained in stdlib.
2013-04-11Update Modulefile, README, CHANGELOG for stdlib-4.0.0Jeff McCune
2013-04-11Add ability to use puppet from git via bundlerJeff McCune
Without this patch the Gemfile can only satisfy dependencies using officially release gem versions. This is a problem because we want to test stdlib against the latest HEAD of the puppet git repository. This patch addresses the problem by copying over the location_for method from the Puppet Gemfile, which will parse out git://, file:// or Gem version specifications. This, in turn, allows jobs to be configured to run with different dependency integrations.
2013-04-10Merge branch 'dalen-count'Jeff McCune
* dalen-count: (maint) Make stdlib usable as a Ruby GEM (maint) Add the behavior for count() with arrays and hashes Add a count function closes #143
2013-04-10(maint) Make stdlib usable as a Ruby GEMJeff McCune
Without this patch it is inconvenient to use the functions included in stdlib in a development setting. The Puppet modulepath must be explicitly set for the functions to be automatically loaded. This patch addresses the problem by adding a gem specification and dependency Gemfile. This makes it possible to directly use stdlib and all of the components it depends upon, like so: $ bundle install --path .bundle/gems/ $ bundle exec puppet apply -e 'notice count([1, 2, 3])' The first command will install all of the dependencies, including Puppet and Facter, into the local project directory. The second command will make stdlib avaialable as a Gem, which will be picked up by Puppet since (#7788) was merged into Puppet in the 3.0 release.
2013-04-10(maint) Add the behavior for count() with arrays and hashesJeff McCune
Without this patch the expected behavior of the count() function when dealing with an out of bound array index and with a hash key that does not exist is implicitly encoded in the spec examples. This is a problem because the expected behavior is not clear for something similar to the following example: node default { $ary = [ 1, 2, 3 ] $ary_undef = $ary[100] $hsh = { 'one' => 1 } $hsh_undef = $hsh['dne'] $count = count(['hi', $ary_undef, $hsh_undef]) notice "Count is ${count}" } This patch addresses the problem by making the expected behavior explicit in the examples.
2013-04-10Add a count functionErik Dalén
Similar to the ruby count method on arrays.
2013-04-08Merge branch '4.x'Adrien Thebo
2013-04-08Merge branch '3.x' into 4.xAdrien Thebo
2013-04-08Merge branch '2.x' into 3.xAdrien Thebo
This ignores the 2.x .travis.yml when merging up since that version is only applicable to the 2.x branch. Conflicts: .travis.yml
2013-04-08Merge branch '2.x-backport_gemfile' into 2.xAdrien Thebo
2013-04-08(maint) Backport Gemfile and .travis.yml to 2.xAdrien Thebo
This is a partial backport and update of 03c5c4a434c2290c021034dbfed82cb0f97e0e87 to add travis-ci support and a Gemfile to 2.x. Right now we're not testing 2.x in travis-ci and we're experiencing spec failures because we have to install rspec-puppet from git. The best resolution for this is to consistently use a Gemfile for running tests. This commit also rewrites the .travis.yml for 2.x to only test 2.x versions against ruby 1.8.7 and Puppet < 3.0 Conflicts: .travis.yml
2013-04-03Merge branch 'amosshapira-any2array'Jeff McCune
* amosshapira-any2array: Remove resundant code (#19998) fix name of function in a comment (#19998) Implement any2array closes #140
2013-04-03Remove resundant codeAmos Shapira
2013-04-03(#19998) fix name of function in a commentAmos Shapira
2013-04-03(#19998) Implement any2arrayAmos Shapira
This change is to implement a new function "any2array", which will take any argument or arguments and create an array which contains it. If the argument is a single array then it will be returned as-is. If the argument is a single hash then it will be converted into an array. Otherwise (if there are more than one argument, or the only argument is not an array or a hash) the function will return an array containing all the arguments.
2013-04-01Merge pull request #139 from hakamadare/19864_num2bool_match_fixAdrien Thebo
(19864) num2bool match fix
2013-04-01Cleanup per adrianthebo suggestionsSteve Huff
* use Float() to process string arguments * get rid of doubly nested arrays * removing needless ternary operator * improving error message handling
2013-03-29(19864) num2bool match fixSteve Huff
This is a bit more heavy-handed than I might like, but it does appear to do the right things: * accepts numeric input appropriately, truncating floats * matches string input against a regex, then coerces number-looking strings to int * makes a best effort to coerce anything else to a string, then subjects it to the same treatment * raises an error in the event of incorrect number of arguments or non-number-looking strings I've also included some additional unit tests.
2013-03-29Reworked number-handling logicSteve Huff
No more coercing to String and regex matching. Instead, we now coerce to Integer at the beginning or raise an error if we cannot coerce to Integer. A consequence of this change is that the function will now accept blatantly non-numeric strings as input, and return false. This seems a bit goofy to me, but it's how String#to_i works. If we really don't like this, then I'm open to suggestions.
2013-03-29Enable num2bool to accept numeric inputSteve Huff
Also ignore rspec fixtures directory
2013-03-27Merge branch '4.x'Adrien Thebo
2013-03-27Merge branch '3.x' into 4.xAdrien Thebo
2013-03-27Merge branch '2.x' into 3.xAdrien Thebo
2013-03-27Merge branch 'pull-136' into 2.xAdrien Thebo
2013-03-27Allow comparisons of Numeric and number as StringErik Dalén
Puppet passes numbers as String to functions, but it makes more sense to compare them as Numeric. But sometimes Puppet passes them as the wrong type, see: https://projects.puppetlabs.com/issues/19812
2013-03-27Merge branch 'pull-138'Adrien Thebo
This closes GH-138.
2013-03-27(maint) better error reporting for prefix and suffixAdrien Thebo
When prefix and suffix did error checking with positional arguments, they would not report the position of the argument that failed to validate. This commit changes the messages to indicate which argument failed.
2013-03-26prefix: fix doc typo Examles -> ExamplesRichard Soderberg
2013-03-26add suffix function to accompany the prefix functionRichard Soderberg
2013-03-19Merge pull request #135 from willaerk/masterAdrien Thebo
Add floor function implementation and unit tests
2013-03-19Add floor function implementation and unit testsKristof Willaert
2013-03-18Merge branch 'pull-59'Adrien Thebo
This closes GH-59
2013-03-18(#13610) Add is_function_available to stdlibEric Shamow
This function provides a simple wrapper around Puppet::Parser::Functions.function for access within Puppet manifests. This will allow users to check whether or not a plugin or functionality such as hiera is installed on the server.
2013-03-18Merge branch '4.x'Adrien Thebo
2013-03-18Merge branch '3.x' into 4.xAdrien Thebo
2013-03-18Merge branch '2.x' into 3.xAdrien Thebo
2013-03-18Merge branch 'pull-115' into 2.xAdrien Thebo
2013-03-18str2bool should return a boolean if called with a booleanJustin Lambert
2013-03-18Fix number of arguments check in flatten()Uwe Stuehler
The function only uses the first argument, so raise an error with too few arguments *and* with too many arguments.
2013-03-18Merge branch '3.x' into 4.xAdrien Thebo
2013-03-18Merge branch '2.x' into 3.xAdrien Thebo
2013-03-18Merge branch 'pull-98' into 2.xAdrien Thebo
2013-03-18Fix number of arguments check in flatten()Uwe Stuehler
The function only uses the first argument, so raise an error with too few arguments *and* with too many arguments.
2013-03-11Add contributing documentJeff McCune
Copied from the same one included in Puppet and Facter. [ci skip]
2013-03-04Merge pull request #132 from raphink/dev/missing_docAdrien Thebo
Add missing documentation for validate_augeas and validate_cmd to README.markdown
2013-03-04Add missing documentation for validate_augeas and validate_cmd to ↵Raphaël Pinson
README.markdown
2013-02-25Merge branch '4.x'Jeff McCune
* 4.x: (maint) Add Ruby 2.0.0 to Travis build matrix Conflicts: .gitignore .travis.yml Gemfile