Merge pull request #35 from zaphod42/master

Test data binding integration with puppet backend
(#15184) Refactor parser functions

This patch refactors the parser functions which centralizes hiera
configuration and lookups into a new `HieraPuppet` module.

The spec tests have be reorganized into a better hierarchy.

Updated specs and acceptance tests are included.
(maint) Hiera Puppet now has a LICENSE file

hiera-puppet has always been licensed under the ASL2. This patch makes
that easier to find by adding a "License" section to the README, and a
new LICENSE file.

* ASL2 - Apache License, Version 2.0
Merge pull request #37 from kelseyhightower/maint/1.0rc/hiera_puppet_does_not_have_license_file

(maint) Hiera Puppet now has a LICENSE file
Merge pull request #36 from kelseyhightower/bug/1.0rc/15184_cannot_locate_the_hiera_config_file

(#15184) Refactor parser functions
(#15105) Update README YAML examples

The Syck YAML Parser in Ruby 1.9.x requires that values like this:

    %{location}

Are quoted like this:

    "%{location}"
Merge remote-tracking branch 'origin/1.0rc' into 1.x

* origin/1.0rc:
  (#15105) Update README YAML examples
  (maint) Hiera Puppet now has a LICENSE file
  (#15184) Refactor parser functions
  (Maint) Create a test for the puppet backend
  (maint) Add acceptance tests
  (maint) parser functions do not require hiera.yaml
  (maint) Follow Puppet Labs style guide + code cleanup
  (#12122) Use nil as default answer in lookup
Merge remote-tracking branch 'origin/1.x'

* origin/1.x:
Add watchr script

Usage: watchr spec/watchr.rb
(Maint) Use PuppetlabsSpec::PuppetSeams.parser_scope

Without this patch the Hiera spec tests fail against Puppet 3.x and
later.  The specs fail because the method signature of the
Puppet::Parser::Scope class initializer has changed from Puppet 2.7
behavior.

This patch fixes the problem by switching over all uses of
Puppet::Parser::Scope.new to the seam method implemented in the common
spec helper in PuppetlabsSpec::PuppetSeams#scope_for_test_harness

Reviewed-by: Patrick Carlisle <patrick@puppetlabs.com>
Merge branch 'fix/1.x/harness_the_scope' into 1.x

* fix/1.x/harness_the_scope:
  (Maint) Use PuppetlabsSpec::PuppetSeams.parser_scope
  Add watchr script

Reviewed-by: Patrick Carlisle <patrick@puppetlabs.com>
Merge branch '1.x'

* 1.x:
  (Maint) Use PuppetlabsSpec::PuppetSeams.parser_scope
  Add watchr script

Reviewed-by: Patrick Carlisle <patrick@puppetlabs.com>
(Maint) Fix mock error with hiera module
Merge branch '1.x'

* 1.x:
  (Maint) Fix mock error with hiera module
(Maint) Fix missing spec_helper lines in some tests

Some of the tests were not passing because of an order dependent
failure.  I'm not entirely sure what was happening, but these example
files need to require the spec_helper.

This patch fixes both issues.  This should get the build green(er)
Merge branch 'fix/1.x/fix_mock_failure' into 1.x

* fix/1.x/fix_mock_failure:
  (Maint) Fix missing spec_helper lines in some tests
Merge branch '1.x'

* 1.x:
  (Maint) Fix missing spec_helper lines in some tests
Remove puppetlabs_spec_helper require from root Rakefile

Having puppetlabs_spec_helper as a require in the main Rakefile means that any
rake tasks require the library, which is undesirable as it pulls in many other
dependencies, including mocha, rspec-puppet, etc. Needing these gems installed
to release a gem or build a release package is undesireable as well, so this
commit removes that require. There is still a require on puppetlabs_spec_helper
in spec/spec_helper.rb.
(maint) Replace .should on blocks with .to

Rspec behavior changed in 2.11 from 2.9, so that expect blocks with .should
will fail, while the preferred .to will succeed. This commit makes that change
to .to, and works with both versions of Rspec.
Merge pull request #40 from haus/replace_should_with_to/remove_puppetlabs_spec_helper_require

Replace should with to/remove puppetlabs spec helper require