Commit graph

706 commits

Author SHA1 Message Date
Adrien Thebo
1fcb854f15 (maint) split up range spec with describe blocks 2013-05-28 11:11:50 -07:00
Adrien Thebo
0f2d69fdfd Merge remote-tracking branch 'pr/56' into pull-56
Conflicts:
	lib/puppet/parser/functions/range.rb
	spec/unit/puppet/parser/functions/range_spec.rb
2013-05-28 11:07:41 -07:00
Adrien Thebo
9c8c8275ab Merge pull request #159 from fiddyspence/feature/base64
Adding base64 function
2013-05-24 09:40:50 -07:00
fiddyspence
3707c47dcd Adding base64 function
Adding base64 function and spec test.  Included a bonus fix to
validate_slength_spec.rb to put the expectation message in the right
place.
2013-05-24 16:33:24 +01:00
Hailee Kenney
2cdbbafc06 Merge pull request #157 from rohanrns/master
Trivial documentation fix for upcase function.
2013-05-20 09:17:11 -07:00
Rohan Sheth
ad9079e35b Trivial documentation fix 2013-05-18 11:48:41 -07:00
Hailee Kenney
a2abfb9894 Merge pull request #155 from AlexCline/feature/master/array_comparison_functions
(#20684) Add array comparison functions, difference, intersection and union
2013-05-15 13:56:15 -07:00
Adrien Thebo
dad3a2948f Merge pull request #147 from mhellmic/master
don't fail on undef variable in merge
2013-05-15 10:58:04 -07:00
Alex Cline
737aa31546 (#20684) Add array comparison functions, difference, intersection and union.
Included is code, tests and documentation for the difference, intersection
and union functions for comparing arrays.
2013-05-13 12:14:15 -04:00
Jeff McCune
1ffd72daaa Merge branch 'puppetlabs-release/four_one_oh'
* puppetlabs-release/four_one_oh:
  Update Modulefile, CHANGELOG for version 4.1.0

closes #154
2013-05-10 14:23:58 -07:00
Ryan Coleman
5c6038458b Update Modulefile, CHANGELOG for version 4.1.0
This commit alters the module metadata to indicate a 4.1.0 version
release for the Puppet Forge. It contains backwards compatible
features, refactors and bug fixes.

CHANGELOG updated by JJM
2013-05-10 14:22:03 -07:00
Martin Hellmich
b975bd66aa Added rspec tests for the new behaviour of merge accepting empty strings
added test that '' is accepted
changed a test that a number is correctly rejected with a type error
2013-05-08 18:24:46 +02:00
Martin Hellmich
f496005bf3 fix in merge.rb: refine the checking if an argument is an empty string 2013-05-08 18:24:07 +02:00
Jeff McCune
226c191e27 Merge branch 'fix_facts_dot_d_with_pe'
* fix_facts_dot_d_with_pe:
  (maint) Indent facter_dot_d with 2 spaces
  (#20582) Restore facter_dot_d to stdlib for PE users
  Revert "Revert "Revert "Merge branch 'hkenney-ticket/master/2157_remove_facts_dot_d'"""
  (maint) Update Gemfile with GEM_FACTER_VERSION

closes #153
2013-05-07 12:10:06 -07:00
Jeff McCune
77ea8439fe (maint) Indent facter_dot_d with 2 spaces
Whitespace only re-flow of facter_dot_d.rb
2013-05-07 09:45:13 -07:00
Jeff McCune
3b887c880c (#20582) Restore facter_dot_d to stdlib for PE users
Without this patch Puppet Enterprise users who install the most recent
version of stdlib lose the ability to resolve certain facts critical to
the operation of Puppet Enterprise.  These facts are defined externally
in the file
`/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`.
As an example, Puppet Enterprise catalogs fail to compile if the
`fact_stomp_server`, and `fact_stomp_port` facts are not defined.

`facter_dot_d` was removed from stdlib version 4 because Facter version
1.7 now supports external facts defined in
`/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`.
Puppet Enterprise does not yet include Facter 1.7, however.  The most
recent PE release, 2.8.1, includes Facter 1.6.17.  With this version of
Facter, users who replace the version of stdlib that ships with PE with
the most recent version from the Forge will lose the ability to resolve
facts from
`/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`.

This patch addresses the problem by detecting if Facter version < 1.7 is
loaded.  If so, then the facter_dot_d.rb facts will be defined using the
stdlib custom fact.  If Facter >= 1.7 is being used then stdlib will not
define external facts.
2013-05-07 09:42:35 -07:00
Jeff McCune
77991d3a77 Revert "Revert "Revert "Merge branch 'hkenney-ticket/master/2157_remove_facts_dot_d'"""
This reverts commit 8fc00ea5b6.

We're restoring facts_dot_d support to stdlib because users are pulling
in the latest version of stdlib while on Puppet Enterprise which breaks
the operation of PE itself when the fact_stomp_server and
fact_stomp_port facts are not defined.  They are not defined in PE
because PE runs with Facter 1.6.17 and Puppet 2.7.21
2013-05-07 09:42:35 -07:00
Jeff McCune
f44d535a0f (maint) Update Gemfile with GEM_FACTER_VERSION
Without this patch we cannot explicitly set the version of Facter to
integrate using Bundler.  This patch addresses the problem by adding a
new environment variable, GEM_FACTER_VERSION which allows bundler to
install a specific version of Facter.  GEM_FACTER_VERSION is the
variable name instead of FACTER_GEM_VERSION to prevent the gem_version
fact from being defined.  In addition, GEM_PUPPET_VERSION is defined
based on PUPPET_GEM_VERSION in order to match the environment names and
provide backwards compatibility with CI jobs.
2013-05-07 09:42:17 -07:00
Adrien Thebo
3e59bbd2db Merge pull request #152 from AlexCline/feature/master/allow_arrays_in_ensure_resource
(#20548) Allow an array of resource titles to be passed into the ensure_...
2013-05-06 16:54:17 -07:00
Alex Cline
d38bce0488 Terser method of string to array conversion courtesy of ethooz. 2013-05-06 16:16:38 -04:00
Alex Cline
b33cc24a3c Refactor ensure_resource expectations
This splits out the ensure_resource expectations into separate
blocks for clarity.  Per adrienthebo's recommendation.
2013-05-06 15:30:35 -04:00
Alex Cline
de253db564 Changed str-to-array conversion and removed abbreviation. 2013-05-06 13:52:57 -04:00
Alex Cline
e08734af5a (#20548) Allow an array of resource titles to be passed into the ensure_resource function
This patch allows an array of resource titles to be passed into
the ensure_resource function.  Each item in the array will be
checked for existence and will be created if it doesn't already
exist.
2013-05-03 15:47:27 -04:00
Adrien Thebo
0c68ff6d66 Merge pull request #150 from raphink/dev/dirname_function
Add a dirname function
2013-05-02 15:17:32 -07:00
Raphaël Pinson
2ba9e4721b Add a dirname function 2013-05-02 15:17:35 +02:00
Jeff McCune
0aa7e942f4 Merge branch 'msmithgu-small-typo-fix'
* msmithgu-small-typo-fix:
  (maint) Fix a small typo in hash() description

closes #148
2013-04-29 17:18:09 -07:00
Mark Smith-Guerrero
928036ac53 (maint) Fix a small typo in hash() description 2013-04-29 17:17:46 -07:00
Martin Hellmich
3077d26b00 check if an argument supposed to be merged is empty to
pass over undefs without failing
2013-04-22 23:26:22 +02:00
Martin Hellmich
89bceb2821 Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-stdlib 2013-04-22 23:24:38 +02:00
Jeff McCune
bebecd3378 Merge branch 'update_gemspec' for 4.0.2
* update_gemspec:
  Update gemspec, Modulefile, CHANGELOG for 4.0.2

closes #145
[ci skip]
2013-04-12 10:13:16 -07:00
Jeff McCune
5e0b90ed65 Update gemspec, Modulefile, CHANGELOG for 4.0.2
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-12 09:47:14 -07:00
Jeff McCune
85cf0e69bf Merge pull request #144 from ghoneycutt/compat_matrix
adds compatibility matrix
2013-04-12 09:40:24 -07:00
Garrett Honeycutt
5a2d4c4a68 adds compatibility matrix 2013-04-12 13:04:15 +02:00
Jeff McCune
62bcb8fcf0 Merge branch 'philandstuff-master'
* philandstuff-master:
  Add behavior example for anchor refresh propagation
  Make the anchor type propagate refresh events

closes #78
2013-04-11 17:57:27 -07:00
Jeff McCune
d2e692dce3 Add behavior example for anchor refresh propagation
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-11 17:55:40 -07:00
Philip Potter
ddad4455cc Make the anchor type propagate refresh events
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-11 17:55:11 -07:00
Jeff McCune
8bf547991c Merge branch '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 16:42:58 -07:00
Chris Price
a5c77921ae (#13695) add README about puppetlabs_spec_helper 2013-04-11 16:42:51 -07:00
Jeff McCune
77b883cae1 Update gemspec, CHANGELOG, Modulefile for 4.0.1 2013-04-11 14:31:29 -07:00
Jeff McCune
ab3e30c025 Fix README function documentation
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-11 14:29:57 -07:00
Jeff McCune
f861e81f83 Merge branch stdlib 4.0.0 release
* 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-11 14:16:57 -07:00
Jeff McCune
475e29f698 Update gemspec for 4.0.0 2013-04-11 14:14:02 -07:00
Jeff McCune
ddfafc4a85 Update function documentation for 4.0.0
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-11 14:04:31 -07:00
Jeff McCune
25b670e6f6 Update Modulefile, README, CHANGELOG for stdlib-4.0.0 2013-04-11 13:52:49 -07:00
Jeff McCune
9c5805f26a Add ability to use puppet from git via bundler
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-11 10:42:46 -07:00
Jeff McCune
2e2830deda Merge branch 'dalen-count'
* 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 14:40:13 -07:00
Jeff McCune
e81a45ee00 (maint) Make stdlib usable as a Ruby GEM
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 14:35:42 -07:00
Jeff McCune
435226abfd (maint) Add the behavior for count() with arrays and hashes
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-10 14:33:10 -07:00
Erik Dalén
f28550e789 Add a count function
Similar to the ruby count method on arrays.
2013-04-10 14:39:25 +02:00
Adrien Thebo
6f9361e383 Merge branch '4.x' 2013-04-08 10:06:17 -07:00