Age | Commit message (Collapse) | Author |
|
Split the `destroy` method of the file_type::ruby provider into two
private methods: `handle_destroy_line` which is the same as the previous
`destroy` method, and `handle_destroy_with_match` which will destroy any
line which matches the `match` parameter, raising an error if multiple
lines match and the `multiple` parameter is not `true`. This new
behavior is only used if the new boolean parameter `match_for_absence`
is `true` (it defaults to `false`).
|
|
Puppet's boolean parameter type is only available in Puppet 3.3 and
higher, so change file_type's new "replace" parameter to a regular
parameter with true and false as possible values. This matches the
existing "multiple" parameter.
|
|
|
|
parameter multiple in function handle_create_with_after
Without this, file_line resource without the `match` parameter but with the `after` param will throw an error if there are multiple matches for the after expression. This patch creates the handling for the `multiple` parameter in handle_create_with_after. This allows you to add a line after the `after` expression if it appears at multiple points in a file.
Updated reference to `file_line` in the README to reflect that the multiple parameter can be set when using `after` and/or `match` as the matching regex.
|
|
|
|
Changed append line to open in 'w' mode and have to rewrite lines in order to append new line
|
|
The `type()` function will cease to work on the new parser because 'type'
is a reserved keyword. The `type3x()` function may be used to continue
similar functionality, but will be deprecated in favor of the built-in
typing system.
The `type_of()` function has been included to introspect types in the
new parser.
|
|
Merge 4.5.x into master
|
|
Based on dirname code. Includes RSpec tests and docs.
|
|
The `match` attribute was validated to match `line`, except that in many
cases (even the example given in the docs) a user would want to match a
line entirely different from the new line.
See comments on the original commit
https://github.com/puppetlabs/puppetlabs-stdlib/commit/a06c0d8115892a74666676b50d4282df9850a119
and ask
https://ask.puppetlabs.com/question/14366/file_line-resource-match-problems/
for further examples of confusion.
|
|
This conversion is done by Transpec 2.2.1 with the following command:
transpec spec/unit
* 53 conversions
from: obj.should
to: expect(obj).to
* 19 conversions
from: == expected
to: eq(expected)
* 5 conversions
from: lambda { }.should
to: expect { }.to
* 2 conversions
from: be_true
to: be_truthy
For more details: https://github.com/yujinakayama/transpec#supported-conversions
|
|
(MODULES-905) Narrow the confinement in bool2str
|
|
The extended spec tests validate that the common types of values
that could be passed to bool2str() are rejected.
|
|
This reverts commit 8499ebdb7f892f2623295058649c67a5553d4732, reversing
changes made to 08b00d9229961d7b3c3cba997bfb35c8d47e4c4b.
|
|
(MODULES-905) Add bool2str() and camelcase() for string manipulation
|
|
file_line supports adding lines after a match, but there are use cases when
having "before" would be useful. For example, in Debian-based OS's, the last
line of /etc/rc.local is "exit 0" it's an incredible pain to deal with
that scenario today.
This commit adds a 'before' parameter to the file_line type, and implements
it for the ruby provider.
|
|
|
|
rspec-puppet matchers are defined for tests which exist in
spec/functions, but the function unit tests lived in
spec/unit/puppet/parser/functions. This moves them to the correct place
for using rspec-puppet
|
|
|
|
|
|
complaining loudly
|
|
Allow concat to take non-array second parameters
|
|
PUP-1724 Don't modify the paramaters to deep_merge
|
|
This work updates a number of Gems to the latest versions (rspec,
rspec-puppet), and updates and tweaks a bunch of tests to work
with the updated gems.
|
|
Also improve and extend concat tests to lock down functionality
|
|
Instead of modifying the first paramater of deep_merge due to the
use of the merge! function, instead use merge to return a copy of
the merged object. This allows one to continue to use the original
first parameter after the call to deep_merge.
|
|
|
|
This version of pick() does not error out, instead always returning at least
the last argument, even if that too has no "real" value.
|
|
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}"
|
|
|
|
(#23381) add is_bool() function
|
|
calling rspec directly makes is_function_available.rb not pass ruby -c
|
|
|
|
with the rest.
|
|
|
|
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.
|
|
Update pick error message "at least one non empty value"
|
|
This closes GH-180
|
|
|
|
Right now validation seems to be done against zero byte generated temp
files. We need to close the file before executing validation against it.
|
|
delete_undef_values function fix bug #20681
|
|
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.
|
|
delete_at added spec to check against bug #20681
|
|
delete_values() fix bug #20681.
|
|
(#16498) Added unit test for loadyaml function.
|
|
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.
|
|
bug # 20681 delete() function should not remove elements from original list
|
|
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.
|
|
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.
|
|
enhanced the error message of pick function.
|