summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-06changed the validate_slength function to accept a min lengthMartin Hellmich
An optional third parameter can be given a min length. The function then only passes successfully, if all strings are in the range min_length <= string <= max_length update and fix function and unit tests the check for the minlength has to be written differently because 0 values should be possible. We now check a) if the input is convertible, and throw a ParseError and b) if the input .is_a?(Numeric) and ask for a positive number it's not as clean as for maxlength, but keeps a similar behaviour refined the error checking for the min length try to convert to Integer(args[2]) and fail, if it's not possible changed the tests accordingly to the new parameter checking
2013-05-08Added rspec tests for the new behaviour of merge accepting empty stringsMartin Hellmich
added test that '' is accepted changed a test that a number is correctly rejected with a type error
2013-05-08fix in merge.rb: refine the checking if an argument is an empty stringMartin Hellmich
2013-04-22check if an argument supposed to be merged is empty toMartin Hellmich
pass over undefs without failing
2013-04-22Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-stdlibMartin Hellmich
2013-04-12Merge branch 'update_gemspec' for 4.0.2Jeff McCune
* update_gemspec: Update gemspec, Modulefile, CHANGELOG for 4.0.2 closes #145 [ci skip]
2013-04-12Update gemspec, Modulefile, CHANGELOG for 4.0.2Jeff McCune
Without this patch the information displayed on rubygems.org does not clearly convey the intent of the Gem format of stdlib from the official puppet module format of stdlib. This is a problem because end users might get confused and start installing stdlib from rubygems.org This patch addresses the problem by making it clear that the gem version of stdlib is not intended for end users, but rather is specifically intended to make it easier for other module authors to depend on stdlib and have that dependency automatically resolved using a Gemfile. [ci skip]
2013-04-12Merge pull request #144 from ghoneycutt/compat_matrixJeff McCune
adds compatibility matrix
2013-04-12adds compatibility matrixGarrett Honeycutt
2013-04-11Merge branch 'philandstuff-master'Jeff McCune
* philandstuff-master: Add behavior example for anchor refresh propagation Make the anchor type propagate refresh events closes #78
2013-04-11Add behavior example for anchor refresh propagationJeff McCune
Without this patch we don't have a spec test to make sure the anchor resource type passes notify events along. This patch addresses the problem by using RSpec Puppet to build a catalog, apply the catalog, then pull a resource out of the transaction and make sure the resource was triggered.
2013-04-11Make the anchor type propagate refresh eventsPhilip Potter
Without this patch the anchor resource does not propogate refresh events, making it difficult to subscribe to a class which has been notified by another resource.
2013-04-11Merge branch ↵Jeff McCune
'cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper' * cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper: (#13695) add README about puppetlabs_spec_helper [ci skip] closes #63
2013-04-11(#13695) add README about puppetlabs_spec_helperChris Price
2013-04-11Update gemspec, CHANGELOG, Modulefile for 4.0.1Jeff McCune
2013-04-11Fix README function documentationJeff McCune
Without this patch some core puppet functions leaked into the documentation for the functions contained in stdlib. This patch removes them and cleans up some of the formatting.
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