summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-23(PUP-1195) Fix is_numeric/is_integer when checking non-string parametersSimon Effenberg
I expect a function called "is_numeric" or "is_integer" to check if a variable is an integer or a number even if the variable passed by isn't a string nor a number at all. Otherwise we should call them is_string_a_number and is_string_an_integer and we have then to remove the check for .is_a?(Number) and .is_a?(FixNum) now checking also if it is a hex or octal number improved/corrected checking for integer * checking against Integer instead of Fixnum so that also Bignum is matching * now .is_a? Integer is done first so this is quiet fast Now many types of numerics are recognized. 1. Float/Integer values (signed or unsigned, with exponent or without) 2. octal and hex check 3. except hex numbers and the "0." in a float lower than 1 can be prefixed with a '0'. whitespaces shouldn't be allowed as prefix/suffix string representation of numbers should not contain any type of whitespace.. the user is responsible to clean a string before checking it.. fix documentation and added more checks tried to be 99.9% backward compatible * for now the decission is post poned if hex and octal numbers should be allowed or not (is_numeric) * native Bignum is now also a valid integer class fix problem with old 1.8 ruby and Hash.to_s/Array.to_s In ruby < 1.9 array and hashes would be recognized as numeric if they have a special format: 1.8: [1,2,3,4].to_s = "1234" {1=>2}.to_s = "12" 1.9: [1,2,3,4].to_s = "[1, 2, 3, 4]" {1=>2}.to_s = "{1=>2}"
2014-01-23Merge pull request #216 from ghoneycutt/enable_travis_fast_finishHunter Haugen
Enable fast finish in Travis
2014-01-23Enable fast finish in TravisGarrett Honeycutt
http://blog.travis-ci.com/2013-11-27-fast-finishing-builds/
2014-01-22(PUP-1459) Add support for root_home on OS X 10.9William Van Hevelingen
getent does not exist on 10.9 so this commit uses dscacheutil to query the homedir for the root user.
2014-01-15Merge branch 'pull-201'Adrien Thebo
This closes GH-201.
2014-01-15(maint) Update ensure_package specs to confirm expected behaviorAdrien Thebo
The previous behavior of the tests checked the behavior of the underlying functions library when called with no arguments; this commit updates the tests to conform to the functions API and test what happens when a function is called with no args.
2014-01-15(maint) refactor ensure_packages for clarityAdrien Thebo
2014-01-15Allow a single argument, rather than an arrayTomas Doran
2013-12-26Merge pull request #214 from zaphod42/maint/master/update-references-for-jiraAndrew Parker
(doc) Update to point to Jira
2013-12-23(doc) Update to point to JiraAndrew Parker
Since we've moved from Redmine to Jira the links need to be updated so that people know where to look for issues. At the moment stdlib is being tracked with puppet in the PUP project. This doesn't seem like a good, long term solution, but it is where we are right now.
2013-12-20Merge branch 'pull-209'Adrien Thebo
This closes GH-209
2013-12-20(maint) Improve test coverage for prefix and suffixAdrien Thebo
2013-12-20Fix prefix exception message (Closes #23364)Franco Catena
2013-12-18(Maint) Update stubbing to work with facter 1.7.4Andrew Parker
Facter 1.7.4 changed how it decides on what directory to look in for facts.d based on the user it is running as. This stubs out that bit of code to make it think it is running as root.
2013-12-18Merge pull request #211 from jhoblitt/function_is_boolAndrew Parker
(#23381) add is_bool() function
2013-12-18Merge pull request #208 from ghoneycutt/add_validationAndrew Parker
Add rake tasks to validate and lint files and check with Travis
2013-12-18Merge pull request #207 from ghoneycutt/remove_unintentional_linkJosh Cooper
Remove unintentional link from README
2013-12-18Merge pull request #203 from dreamlibrarian/fix/is_function_available-ruby_cAndrew Parker
calling rspec directly makes is_function_available.rb not pass ruby -c
2013-12-12(maint) Update README stating stdlib 4.x supports Puppet 2.7.xJeff McCune
Without this patch there is a disconnect between the documentation in the README and our decision to not merge pull requests into the 4.x series that break compatibility with Puppet 2.7.x For example: @jeffmccune I think the real issue here is that "policy" is out of sync with the documentation. The README claims that 4.x does not support puppet 2.7.x, yet the "policy" is not to merge patches that break 2.7.x. Due to that I'm sure there are a lot of 2.7.x installations out there that have a 4.x version of stdlib installed. That's going to cause a rather rude surprise if some future version of 4.x stops working where a prior minor release was functioning. I'd like to suggest that the documentation be changed to reflect 4.x supporting 2.7.x and that a new major version bump is made when 2.7.x support can in fact be dropped. An alternative solution would be update the README with a note to developers about the kinda/sorta/maybe/fishy/quasi support of 2.7.x. Please also see this discussion: https://github.com/puppetlabs/puppetlabs-stdlib/pull/176#issuecomment-30251414
2013-12-09Merge pull request #200 from bobtfish/fix_tests_on_osxAdrien Thebo
Fix the tests on osx
2013-12-09(#23381) add is_bool() functionJoshua Hoblitt
2013-12-07Merge pull request #210 from apenney/temp-fixKylo Ginsberg
Pin rspec-puppet to 0.1.6 for now as the change to 1.0.0 has broken
2013-12-06Pin rspec-puppet to 0.1.6 for now as the change to 1.0.0 has brokenAshley Penney
things involving Mocha badly.
2013-11-30Add rake tasks to validate and lint files and check with TravisGarrett Honeycutt
This patch adds the ability to validate syntax of manifests, templates, and ruby files in lib/ via `rake validate` and the linting of manifests with puppet-lint via `rake lint`. These two commands are chained with running the spec tests in Travis to ensure there are no syntax or style issues.
2013-11-30Remove unintentional link from READMEGarrett Honeycutt
Markdown interprets [] folowed by () as a link, which was a 404 and not the intention of the original author. This patch ensures that the document reads as intended, without the link.
2013-11-20calling rspec directly makes this not pass ruby -c. adjusting to be in line ↵Tristan Smith
with the rest.
2013-11-19Fix the tests on osxTomas Doran
2013-10-29Merge branch 'fix/master/add_recursive_merge'Josh Partlow
* fix/master/add_recursive_merge: (#20200) Add a recursive merge function. Closes GH-189 This patch changes the original pull request to draw in the overlay function as a Proc and make use of Hash.merge {} for resolving key conflicts.
2013-10-29(#20200) Add a recursive merge function.Justin Burnham
Issue #20200 notes that the merge function does not support nested hashes. To prevent unintended side effects with changing merge, add a deep_merge function instead.
2013-10-29Merge branch 'fix-pick-error-typo'Josh Cooper
* fix-pick-error-typo: (Main) fix typo in pick error message Closes GH-197
2013-10-29(Main) fix typo in pick error messageMatthew Haughton
Update pick error message "at least one non empty value"
2013-10-29Merge remote-tracking branch 'tchaudhri/tchaudhri_join_func_doc_typo'Josh Cooper
* tchaudhri/tchaudhri_join_func_doc_typo: Fixed 'separator' typos Closes GH-196
2013-10-25Fixed 'separator' typosTehmasp Chaudhri
2013-09-18Merge branch 'pull-180'Adrien Thebo
This closes GH-180
2013-09-18(maint) Simplify validate_cmd specsAdrien Thebo
2013-09-18(#22214): close content file before executing checkscriptsgzijl
Right now validation seems to be done against zero byte generated temp files. We need to close the file before executing validation against it.
2013-09-18Merge pull request #184 from lmello/fix_bug_20681_delete_undef_valuesAdrien Thebo
delete_undef_values function fix bug #20681
2013-09-18(#20681) fix behaviour of delete_undef_valuesLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected other delete functions. Because ruby delete and delete_if functions make destructive changes to the origin array/hash. The delete_undef_values removed elements from the origin array/hash and this is not the desired behaviour. To solve this, we should dup or clone the array/hash before using the delete or delete_if ruby functions. We should also check if args[0] is not nil before using dup, since dup on nil raises exception. This fix the problem and add unit tests, so we could enforce this behaviour and prevent regressions.
2013-09-17Merge pull request #183 from lmello/fix_bug_20681_delete_atAdrien Thebo
delete_at added spec to check against bug #20681
2013-09-17Merge pull request #182 from lmello/fix_bug_20681_delete_valuesAdrien Thebo
delete_values() fix bug #20681.
2013-09-17Merge pull request #185 from lmello/refactor_16498Adrien Thebo
(#16498) Added unit test for loadyaml function.
2013-09-17(#16498) Added unit test for loadyaml function.Leonardo Rodrigues de Mello
As stated on the issue #16498, it would be great to have unit tests for all the functions. Function loadyaml was missing a unit test. This commit added the unit test to loadyaml function.
2013-09-17Merge pull request #178 from lmello/fix_bug_20681Adrien Thebo
bug # 20681 delete() function should not remove elements from original list
2013-09-17(#20681) delete_at function unit test against issueLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected the other delete functions. The delete_at function is not afected by this bug, but it did not had the unit test to check against it. I had added the unit test so we could prevent regressions on the future and also have better test coverage.
2013-09-17(#20681) fix behaviour of delete_valuesLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected other delete functions. Because ruby delete and delete_if functions make destructive changes to the origin array/hash. The delete_undef_values removed elements from the origin hash and this is not the desired behaviour. To solve this, we should dup or clone the hash before using the delete or delete_if ruby functions. This fix the problem and add unit tests, so we could enforce this behaviour and prevent regressions.
2013-09-16Merge pull request #179 from lmello/function_pick_error_msgAdrien Thebo
enhanced the error message of pick function.
2013-09-16bug # 20681 delete() function should not remove elements from original listLeonardo Rodrigues de Mello
The setup: list with 3 elements, delete one: $test_list = [‘a’, ‘b’, ‘c’] $test_deleted = delete($test_list, ‘a’) Print out the elements in ‘test_deleted’: notify { ‘group_output2’: withpath => true, name => “$cfeng::test_deleted”, } Notice: /Stage[main]/Syslog/Notify[group_output2]/message: bc Good! Run-on output shows that ‘a’ was deleted Print out the elements in ‘test_list’: notify { ‘group_output1’: withpath => true, name => “$cfeng::test_list”, } Notice: /Stage[main]/Syslog/Notify[group_output1]/message: bc WHAT!? 'a' was deleted from ‘test_list’ as well! Expected abc as output! This behaviour is confirmed for string, hash and array. This is fixed on this commit, I had added two spec tests to cover that cases. bug #20681 spec test for delete() function. I had forgot in the last commit the spec test for hash in the delete function. bug # 20681 delete() function change aproach. Instead of rejecting elements from the original list, we use collection = arguments[0].dup . then latter we could continue to use delete and gsub! on collection without impact on original argument. this is a better solution than the previous one, and works on ruby 1.8.7, 1.9.3 and 2.0.0. The previous solution does not work on ruby 1.8.7. delete function remove typo whitespace. fix typo whitespaces.
2013-09-16enhanced the error message of pick function.Leonardo Rodrigues de Mello
When pick function fail return a better error message like the other stdlib functions, indicating that the error is on function pick. This would help people that see the error to identity it is related to a incorrect use of stdlib function pick, instead of having to grep all puppet libraries and manifests source for the old message. I had also changed the spec test. pick function change spec as suggested GH-179 Fix the spec test to use expect {}.to instead of lambda {}.should as explained by Adrienthebo. "Using expect { }.to is preferred over lambda { }.should. In addition it's best practice to do a string match against the error message to ensure that we're catching the right error, instead of any error of the right type." Also fixed a typo on the error message, it was missing one space. pick function stylish fix as suggested on GH179
2013-09-12Merge pull request #181 from nibalizer/grammarAdrien Thebo
Minor grammar fix
2013-09-11Minor grammar fixSpencer Krum