[DRE-commits] [foodcritic] 03/10: Imported Upstream version 3.0.3
Stefano Rivera
stefano at rivera.za.net
Wed Jan 15 15:57:27 UTC 2014
This is an automated email from the git hooks/post-receive script.
stefanor pushed a commit to branch master
in repository foodcritic.
commit 9367cb41be91a0dca2c9767d7da613b1653c47b5
Author: Stefano Rivera <stefanor at debian.org>
Date: Fri Jan 10 14:34:40 2014 +0200
Imported Upstream version 3.0.3
---
.gitignore | 14 -
.travis.yml | 4 -
CHANGELOG.md | 116 +++
Gemfile | 17 -
Rakefile | 33 -
checksums.yaml.gz | Bin 0 -> 426 bytes
chef_dsl_metadata/Appraisals | 21 -
chef_dsl_metadata/Gemfile | 5 -
chef_dsl_metadata/Rakefile | 82 --
chef_dsl_metadata/chef_0.10.0.json | 5 +-
chef_dsl_metadata/chef_0.10.10.json | 5 +-
chef_dsl_metadata/chef_0.10.2.json | 5 +-
chef_dsl_metadata/chef_0.10.4.json | 5 +-
chef_dsl_metadata/chef_0.10.6.json | 5 +-
chef_dsl_metadata/chef_0.10.8.json | 5 +-
chef_dsl_metadata/chef_0.8.14.json | 5 +-
chef_dsl_metadata/chef_0.8.16.json | 5 +-
chef_dsl_metadata/chef_0.9.0.json | 5 +-
chef_dsl_metadata/chef_0.9.10.json | 5 +-
chef_dsl_metadata/chef_0.9.12.json | 5 +-
chef_dsl_metadata/chef_0.9.14.json | 5 +-
chef_dsl_metadata/chef_0.9.16.json | 5 +-
chef_dsl_metadata/chef_0.9.18.json | 5 +-
chef_dsl_metadata/chef_0.9.2.json | 5 +-
chef_dsl_metadata/chef_0.9.4.json | 5 +-
chef_dsl_metadata/chef_0.9.6.json | 5 +-
chef_dsl_metadata/chef_0.9.8.json | 5 +-
chef_dsl_metadata/chef_10.12.0.json | 5 +-
chef_dsl_metadata/chef_10.14.0.json | 5 +-
chef_dsl_metadata/chef_10.14.2.json | 5 +-
chef_dsl_metadata/chef_10.14.4.json | 5 +-
chef_dsl_metadata/chef_10.16.0.json | 5 +-
chef_dsl_metadata/chef_10.16.2.json | 5 +-
chef_dsl_metadata/chef_10.16.4.json | 5 +-
chef_dsl_metadata/chef_10.16.6.json | 5 +-
chef_dsl_metadata/chef_10.18.0.json | 5 +-
chef_dsl_metadata/chef_10.18.2.json | 5 +-
chef_dsl_metadata/chef_10.20.0.json | 5 +-
chef_dsl_metadata/chef_10.22.0.json | 5 +-
chef_dsl_metadata/chef_10.24.0.json | 5 +-
chef_dsl_metadata/chef_10.24.4.json | 5 +-
chef_dsl_metadata/chef_10.26.0.json | 5 +-
chef_dsl_metadata/chef_11.0.0.json | 5 +-
chef_dsl_metadata/chef_11.2.0.json | 5 +-
chef_dsl_metadata/chef_11.4.0.json | 5 +-
chef_dsl_metadata/chef_11.4.2.json | 5 +-
chef_dsl_metadata/chef_11.4.4.json | 5 +-
.../{chef_11.0.0.json => chef_11.6.0.json} | 946 ++++++++++++++++++++-
chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile | 9 -
.../gemfiles/chef_0.10.0.gemfile.lock | 96 ---
chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile | 9 -
.../gemfiles/chef_0.10.10.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile | 9 -
.../gemfiles/chef_0.10.2.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile | 9 -
.../gemfiles/chef_0.10.4.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile | 9 -
.../gemfiles/chef_0.10.6.gemfile.lock | 80 --
chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile | 9 -
.../gemfiles/chef_0.10.8.gemfile.lock | 80 --
chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile | 8 -
.../gemfiles/chef_0.7.10.gemfile.lock | 45 -
chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile | 13 -
.../gemfiles/chef_0.7.12.gemfile.lock | 98 ---
chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile | 8 -
.../gemfiles/chef_0.7.16.gemfile.lock | 45 -
chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile | 8 -
.../gemfiles/chef_0.8.10.gemfile.lock | 48 --
chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile | 9 -
.../gemfiles/chef_0.8.14.gemfile.lock | 49 --
chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile | 9 -
.../gemfiles/chef_0.8.16.gemfile.lock | 49 --
chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile | 8 -
chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile.lock | 60 --
chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile | 13 -
chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile.lock | 113 ---
chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile | 9 -
chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile.lock | 58 --
chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile | 9 -
.../gemfiles/chef_0.9.10.gemfile.lock | 59 --
chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile | 9 -
.../gemfiles/chef_0.9.12.gemfile.lock | 59 --
chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile | 9 -
.../gemfiles/chef_0.9.14.gemfile.lock | 59 --
chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile | 9 -
.../gemfiles/chef_0.9.16.gemfile.lock | 59 --
chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile | 9 -
.../gemfiles/chef_0.9.18.gemfile.lock | 59 --
chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile | 9 -
chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile.lock | 58 --
chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile | 9 -
chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile.lock | 58 --
chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile | 9 -
chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile.lock | 58 --
chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile | 9 -
chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile.lock | 58 --
chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile | 9 -
.../gemfiles/chef_10.12.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile | 9 -
.../gemfiles/chef_10.14.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile | 9 -
.../gemfiles/chef_10.14.2.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile | 9 -
.../gemfiles/chef_10.14.4.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile | 9 -
.../gemfiles/chef_10.16.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile | 9 -
.../gemfiles/chef_10.16.2.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile | 9 -
.../gemfiles/chef_10.16.4.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile | 9 -
.../gemfiles/chef_10.16.6.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile | 9 -
.../gemfiles/chef_10.18.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile | 9 -
.../gemfiles/chef_10.18.2.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile | 9 -
.../gemfiles/chef_10.20.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile | 9 -
.../gemfiles/chef_10.22.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile | 9 -
.../gemfiles/chef_10.24.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile | 9 -
.../gemfiles/chef_10.24.4.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile | 9 -
.../gemfiles/chef_10.26.0.gemfile.lock | 82 --
chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile | 9 -
.../gemfiles/chef_11.0.0.gemfile.lock | 71 --
chef_dsl_metadata/gemfiles/chef_11.0.1.gemfile | 8 -
chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile | 9 -
.../gemfiles/chef_11.2.0.gemfile.lock | 71 --
chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile | 9 -
.../gemfiles/chef_11.4.0.gemfile.lock | 71 --
chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile | 9 -
.../gemfiles/chef_11.4.2.gemfile.lock | 71 --
chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile | 9 -
.../gemfiles/chef_11.4.4.gemfile.lock | 71 --
chef_dsl_metadata/windows.rb | 7 -
...heck_for_undeclared_recipe_dependencies.feature | 52 +-
.../017_check_for_no_lwrp_notifications.feature | 25 +
.../019_check_for_consistent_node_access.feature | 1 +
..._check_for_dodgy_conditions_within_loop.feature | 5 +
features/033_check_for_missing_template.feature | 84 +-
...034_check_for_unused_template_variables.feature | 44 +
...attribute_assignment_without_precedence.feature | 47 +
features/048_check_for_shellout.feature | 34 +
...k_for_role_name_mismatch_with_file_name.feature | 31 +
features/050_check_for_invalid_name.feature | 33 +
.../051_check_for_template_partial_loops.feature | 43 +
features/command_line_help.feature | 15 +
features/ignore_via_line_comments.feature | 18 +
features/individual_file.feature | 18 +-
features/multiple_paths.feature | 28 +-
features/step_definitions/cookbook_steps.rb | 377 +++++++-
features/support/command_helpers.rb | 81 +-
features/support/cookbook_helpers.rb | 94 +-
foodcritic.gemspec | 22 -
lib/foodcritic/api.rb | 116 ++-
lib/foodcritic/command_line.rb | 82 +-
lib/foodcritic/domain.rb | 33 +-
lib/foodcritic/dsl.rb | 3 +
lib/foodcritic/linter.rb | 154 ++--
lib/foodcritic/rake_task.rb | 5 +-
lib/foodcritic/rules.rb | 121 ++-
lib/foodcritic/template.rb | 35 +-
lib/foodcritic/version.rb | 2 +-
man/foodcritic.1 | 70 ++
man/foodcritic.1.ronn | 9 +
metadata.yml | 264 ++++++
spec/foodcritic/api_spec.rb | 211 ++++-
spec/foodcritic/command_line_spec.rb | 13 +
spec/foodcritic/domain_spec.rb | 45 +-
spec/foodcritic/linter_spec.rb | 41 +-
spec/foodcritic/template_spec.rb | 12 +-
spec/regression/expected-output.txt | 199 +++--
175 files changed, 3238 insertions(+), 4251 deletions(-)
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index a094132..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-.idea
-.yardoc
-*.html
-chef_dsl_metadata.json
-coverage
-doc
-man/*.1.html
-man/*.1
-pkg
-*.swp
-tmp
-Gemfile.lock
-.DS_Store
-.rvmrc
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 368278f..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-rvm:
- - 1.9.2
- - 1.9.3
- - 2.0.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 580a47d..04d051b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,119 @@
+## 3.0.3 (13th October, 2013)
+
+Bugfixes:
+
+ - [FC051: Template partials loop indefinitely](http://foodcritic.io/#FC051)
+ would cause an error for partials included from a subdirectory or where the
+ partial did not exist
+ ([related issue](https://github.com/acrmp/foodcritic/issues/176)). Thanks
+ @claco, @michaelglass.
+
+## 3.0.2 (5th October, 2013)
+
+Bugfixes:
+
+ - [FC051: Template partials loop indefinitely](http://foodcritic.io/#FC051)
+ can cause foodcritic to exit with an error on encountering a file that
+ cannot be read as UTF-8. We now explicitly exclude `.DS_Store` and `*.swp`
+ as a workaround
+ ([related issue](https://github.com/acrmp/foodcritic/issues/172)). Thanks
+ @tmatilai, @claco.
+ - [FC022: Resource condition within loop may not behave as expected](http://foodcritic.io/#FC022)
+ would warn incorrectly against loops where the block accepts more than one
+ argument
+ ([related issue](https://github.com/acrmp/foodcritic/issues/69)). Thanks
+ @Ips1975, @jaymzh.
+
+## 3.0.1 (25th September, 2013)
+
+Other:
+
+ - Rake version constraint removed to make packaging easier for users who
+ deploy foodcritic alongside Omnibus Chef.
+
+## 3.0.0 (14th September, 2013)
+
+Features:
+
+ - [FC047: Attribute assignment does not specify precedence](http://foodcritic.io/#FC047)
+ rule added
+ ([related issue](https://github.com/acrmp/foodcritic/issues/81)). Thanks
+ @jtimberman, @miketheman.
+ - [FC048: Prefer Mixlib::ShellOut](http://foodcritic.io/#FC048)
+ rule added
+ ([related issue](https://github.com/acrmp/foodcritic/issues/111)). Thanks
+ @jaymzh.
+ - [FC049: Role name does not match containing file name](http://foodcritic.io/#FC049)
+ rule added
+ ([related issue](https://github.com/acrmp/foodcritic/issues/19)). Thanks
+ @jaymzh.
+ - [FC050: Name includes invalid characters](http://foodcritic.io/#FC050)
+ rule added.
+ - [FC051: Template partials loop indefinitely](http://foodcritic.io/#FC051)
+ rule added.
+ - Added support for checking Chef environment and role files
+ ([related issue](https://github.com/acrmp/foodcritic/issues/19)). Thanks
+ @jaymzh.
+ - Added metadata for Chef 11.6.0.
+ - API methods `#field`, `#field_value` and `#templates_included` added.
+ - The API now exposes access to whether individual warnings should be viewed
+ as failures
+ ([related issue](https://github.com/acrmp/foodcritic/issues/150)). Thanks
+ @jamesdburgess.
+
+Bugfixes:
+
+ - [FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://foodcritic.io/#FC007)
+ would warn if specifying dependencies in a multi-line word list with leading whitespace
+ ([related issue](https://github.com/acrmp/foodcritic/issues/160)). Thanks to
+ @philk for identifying and fixing this issue.
+ - [FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://foodcritic.io/#FC007)
+ would not warn if `include_recipe` used parentheses
+ ([related issue](https://github.com/acrmp/foodcritic/issues/155)). Thanks
+ @jamesdburgess.
+ - [FC017: LWRP does not notify when updated](http://foodcritic.io/#FC017)
+ would warn even if `converge_by` or `use_inline_resources` was used
+ ([related issue](https://github.com/acrmp/foodcritic/issues/90)). Thanks
+ @stevendanna, @nevir.
+ - [FC017: LWRP does not notify when updated](http://foodcritic.io/#FC017)
+ would not warn if any action within the provider notified. Updated to report
+ against actions individually
+ ([related issue](https://github.com/acrmp/foodcritic/issues/90)).
+ - [FC019: Access node attributes in a consistent manner](http://foodcritic.io/#FC019)
+ would warn incorrectly against `node.run_state`
+ ([related issue](https://github.com/acrmp/foodcritic/issues/66)). Thanks
+ @jtimberman.
+ - [FC033: Missing template](http://foodcritic.io/#FC033)
+ would warn if the template filename began with a dot
+ ([related issue](https://github.com/acrmp/foodcritic/issues/165)). Thanks
+ @eherot.
+ - [FC034: Unused template variables](http://foodcritic.io/#FC034)
+ would warn incorrectly if variables were used by partials
+ ([related issue](https://github.com/acrmp/foodcritic/issues/140)). Thanks to
+ @v-a for implementing initial support for partials.
+ - [FC034: Unused template variables](http://foodcritic.io/#FC034)
+ would not be shown against inferred templates.
+ - [FC038: Invalid resource action](http://foodcritic.io/#FC038)
+ would warn incorrectly for log resources that specified a `write` action
+ ([related issue](https://github.com/acrmp/foodcritic/issues/154)). Thanks
+ @sethvargo.
+ - The foodcritic gem was missing a dependency on rake which broke
+ thor-foodcritic
+ ([related issue](https://github.com/acrmp/foodcritic/issues/157)). Thanks
+ @douglaswth.
+ - Template warnings should now be shown against the correct line number.
+ Previously warnings were always shown against line 1
+ ([related issue](https://github.com/acrmp/foodcritic/issues/102)). Thanks
+ @juliandunn.
+ - The `#declared_dependencies` API method could return duplicates for old
+ versions of LibXML.
+ ([related issue](https://github.com/acrmp/foodcritic/issues/163)). Thanks
+ @danleyden.
+
+Other:
+
+ - This release introduces breaking changes to programmatic use of foodcritic.
+
## 2.2.0 (10th July, 2013)
Features:
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 4261119..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,17 +0,0 @@
-source "https://rubygems.org"
-
-gem 'foodcritic', :path => '.'
-
-group :test do
- gem 'aruba', '~> 0.4.11'
- gem 'cucumber', '~> 1.2.1'
- gem 'minitest', '~> 3.3.0'
- gem 'simplecov', '~> 0.6.4'
-end
-
-group :development do
- gem 'chef', '~> 10.24.0'
- gem "rake", '~> 0.9.2.2'
- gem 'rdiscount', '~> 1.6.8'
- gem 'ronn', '~> 0.7.0'
-end
diff --git a/Rakefile b/Rakefile
deleted file mode 100644
index 2a7f7ba..0000000
--- a/Rakefile
+++ /dev/null
@@ -1,33 +0,0 @@
-require 'rubygems'
-require 'bundler'
-require 'rake/testtask'
-require 'cucumber'
-require 'cucumber/rake/task'
-
-task :default => [:man, :install, :test, :features]
-
-Bundler.setup
-Bundler::GemHelper.install_tasks
-
-Rake::TestTask.new do |t|
- t.pattern = 'spec/foodcritic/*_spec.rb'
-end
-
-Rake::TestTask.new do |t|
- t.name = 'regressions'
- t.pattern = 'spec/regression/*_spec.rb'
-end
-
-Cucumber::Rake::Task.new(:features) do |t|
- t.cucumber_opts = ['-f', 'progress', '--strict']
- unless ENV.has_key?('FC_FORK_PROCESS') and ENV['FC_FORK_PROCESS'] == true.to_s
- t.cucumber_opts += ['-t', '~@build']
- t.cucumber_opts += ['-t', '~@context']
- end
- t.cucumber_opts += ['features']
-end
-
-desc 'Build the manpage'
-task :man do
- sh 'ronn -w --roff man/*.ronn'
-end
diff --git a/checksums.yaml.gz b/checksums.yaml.gz
new file mode 100644
index 0000000..ed47ae2
Binary files /dev/null and b/checksums.yaml.gz differ
diff --git a/chef_dsl_metadata/Appraisals b/chef_dsl_metadata/Appraisals
deleted file mode 100644
index 68e30db..0000000
--- a/chef_dsl_metadata/Appraisals
+++ /dev/null
@@ -1,21 +0,0 @@
-require './windows'
-
-chef_versions = [
- '0.8.14', '0.8.16', '0.9.0', '0.9.2', '0.9.4', '0.9.6', '0.9.8', '0.9.10',
- '0.9.12', '0.9.14', '0.9.16', '0.9.18', '0.10.0', '0.10.2', '0.10.4',
- '0.10.6', '0.10.8', '0.10.10', '10.12.0', '10.14.0', '10.14.2', '10.14.4',
- '10.16.0', '10.16.2', '10.16.4', '10.16.6', '10.18.0', '10.18.2', '10.20.0',
- '10.22.0', '10.24.0', '10.24.4', '10.26.0', '11.0.0', '11.2.0', '11.4.0',
- '11.4.2', '11.4.4'
-]
-
-chef_versions.select{|v| ! windows? || has_windows_rights?(v)}.each do |version|
- appraise "chef_#{version}" do
- gem 'chef', version
- if windows?
- gem 'ffi'
- gem 'ruby-wmi'
- gem 'win32-service'
- end
- end
-end
diff --git a/chef_dsl_metadata/Gemfile b/chef_dsl_metadata/Gemfile
deleted file mode 100644
index ad247b4..0000000
--- a/chef_dsl_metadata/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-source 'https://rubygems.org/'
-
-gem 'appraisal', '~> 0.5.1'
-gem 'rake', '~> 0.9.2.2'
-gem 'yajl-ruby', '~> 1.1.0'
diff --git a/chef_dsl_metadata/Rakefile b/chef_dsl_metadata/Rakefile
deleted file mode 100644
index dcc1916..0000000
--- a/chef_dsl_metadata/Rakefile
+++ /dev/null
@@ -1,82 +0,0 @@
-require 'appraisal'
-require 'fileutils'
-require 'yajl'
-
-task :generate_chef_metadata do
- require_chef
- chef_dsl_metadata = {:dsl_methods => chef_dsl_methods,
- :node_methods => chef_node_methods,
- :actions => chef_resource_actions,
- :attributes => chef_resource_attributes}
- json = Yajl::Encoder.encode(chef_dsl_metadata, :pretty => true)
- File.open("chef_#{Chef::VERSION}.json", 'w'){|f| f.write(json)}
-end
-
-def require_chef
- require 'chef'
- require 'chef/mixin/convert_to_class_name'
- include Chef::Mixin::ConvertToClassName
-end
-
-def chef_dsl_methods
- (Chef::Node.public_instance_methods +
- chef_dsl_module.included_modules.map do |mixin|
- mixin.public_instance_methods
- end).flatten.sort.uniq
-end
-
-def chef_node_methods
- Chef::Node.public_instance_methods.flatten.sort.uniq
-end
-
-def chef_resource_actions
- chef_resources do |resource_klazz,resource|
- instance = resource.new('dsl')
- if instance.respond_to?(:allowed_actions)
- [convert_to_snake_case(resource_klazz.to_s),
- instance.allowed_actions.sort]
- end
- end
-end
-
-def chef_resource_attributes
- chef_resources do |resource_klazz,resource|
- resource_name = convert_to_snake_case(resource_klazz.to_s)
- attributes = resource.public_instance_methods(true)
-
- if (!windows?) and has_windows_rights?(::Chef::VERSION) and
- resource.ancestors.include?(Chef::Mixin::Securable)
- attributes = add_windows_securable_attributes(resource_name, attributes)
- end
-
- [resource_name, attributes.sort]
- end
-end
-
-private
-
-def add_windows_securable_attributes(resource_name, attributes)
- atts = [:rights, :deny_rights, :inherits] + attributes
- atts << :files_rights if resource_name == 'remote_directory'
- atts
-end
-
-def chef_dsl_module
- if Chef.const_defined?('DSL')
- Chef::DSL::Recipe
- else
- Chef::Mixin::RecipeDefinitionDSLCore
- end
-end
-
-def chef_resources
- resources = Chef::Resource.constants.sort.map do |resource_klazz|
- resource = Chef::Resource.const_get(resource_klazz)
- if resource.respond_to?(:public_instance_methods) and
- resource.ancestors.include?(Chef::Resource) and
- resource.name != 'Chef::Resource::LWRPBase'
- yield resource_klazz, resource
- end
- end
- Hash[resources]
-end
diff --git a/chef_dsl_metadata/chef_0.10.0.json b/chef_dsl_metadata/chef_0.10.0.json
index b0c10e4..854a11f 100644
--- a/chef_dsl_metadata/chef_0.10.0.json
+++ b/chef_dsl_metadata/chef_0.10.0.json
@@ -447,7 +447,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -505,10 +506,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.10.10.json b/chef_dsl_metadata/chef_0.10.10.json
index ba1db19..fcae443 100644
--- a/chef_dsl_metadata/chef_0.10.10.json
+++ b/chef_dsl_metadata/chef_0.10.10.json
@@ -464,7 +464,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -526,10 +527,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.10.2.json b/chef_dsl_metadata/chef_0.10.2.json
index b0c10e4..854a11f 100644
--- a/chef_dsl_metadata/chef_0.10.2.json
+++ b/chef_dsl_metadata/chef_0.10.2.json
@@ -447,7 +447,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -505,10 +506,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.10.4.json b/chef_dsl_metadata/chef_0.10.4.json
index 9811668..a29e92c 100644
--- a/chef_dsl_metadata/chef_0.10.4.json
+++ b/chef_dsl_metadata/chef_0.10.4.json
@@ -447,7 +447,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -505,10 +506,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.10.6.json b/chef_dsl_metadata/chef_0.10.6.json
index 43ef70c..c969cdf 100644
--- a/chef_dsl_metadata/chef_0.10.6.json
+++ b/chef_dsl_metadata/chef_0.10.6.json
@@ -454,7 +454,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -516,10 +517,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.10.8.json b/chef_dsl_metadata/chef_0.10.8.json
index 43ef70c..c969cdf 100644
--- a/chef_dsl_metadata/chef_0.10.8.json
+++ b/chef_dsl_metadata/chef_0.10.8.json
@@ -454,7 +454,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -516,10 +517,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.8.14.json b/chef_dsl_metadata/chef_0.8.14.json
index c3f468c..f65b61e 100644
--- a/chef_dsl_metadata/chef_0.8.14.json
+++ b/chef_dsl_metadata/chef_0.8.14.json
@@ -400,7 +400,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -454,8 +455,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.8.16.json b/chef_dsl_metadata/chef_0.8.16.json
index c3f468c..f65b61e 100644
--- a/chef_dsl_metadata/chef_0.8.16.json
+++ b/chef_dsl_metadata/chef_0.8.16.json
@@ -400,7 +400,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -454,8 +455,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.9.0.json b/chef_dsl_metadata/chef_0.9.0.json
index 4c1d73d..6b8ff36 100644
--- a/chef_dsl_metadata/chef_0.9.0.json
+++ b/chef_dsl_metadata/chef_0.9.0.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -496,8 +497,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.9.10.json b/chef_dsl_metadata/chef_0.9.10.json
index 99f406a..dc62338 100644
--- a/chef_dsl_metadata/chef_0.9.10.json
+++ b/chef_dsl_metadata/chef_0.9.10.json
@@ -446,7 +446,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -504,10 +505,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.9.12.json b/chef_dsl_metadata/chef_0.9.12.json
index 99f406a..dc62338 100644
--- a/chef_dsl_metadata/chef_0.9.12.json
+++ b/chef_dsl_metadata/chef_0.9.12.json
@@ -446,7 +446,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -504,10 +505,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.9.14.json b/chef_dsl_metadata/chef_0.9.14.json
index 32c1b27..207c966 100644
--- a/chef_dsl_metadata/chef_0.9.14.json
+++ b/chef_dsl_metadata/chef_0.9.14.json
@@ -448,7 +448,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -506,10 +507,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.9.16.json b/chef_dsl_metadata/chef_0.9.16.json
index 32c1b27..207c966 100644
--- a/chef_dsl_metadata/chef_0.9.16.json
+++ b/chef_dsl_metadata/chef_0.9.16.json
@@ -448,7 +448,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -506,10 +507,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.9.18.json b/chef_dsl_metadata/chef_0.9.18.json
index 32c1b27..207c966 100644
--- a/chef_dsl_metadata/chef_0.9.18.json
+++ b/chef_dsl_metadata/chef_0.9.18.json
@@ -448,7 +448,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -506,10 +507,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_0.9.2.json b/chef_dsl_metadata/chef_0.9.2.json
index 4c1d73d..6b8ff36 100644
--- a/chef_dsl_metadata/chef_0.9.2.json
+++ b/chef_dsl_metadata/chef_0.9.2.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -496,8 +497,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.9.4.json b/chef_dsl_metadata/chef_0.9.4.json
index 1968237..7836c23 100644
--- a/chef_dsl_metadata/chef_0.9.4.json
+++ b/chef_dsl_metadata/chef_0.9.4.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -496,8 +497,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.9.6.json b/chef_dsl_metadata/chef_0.9.6.json
index 1968237..7836c23 100644
--- a/chef_dsl_metadata/chef_0.9.6.json
+++ b/chef_dsl_metadata/chef_0.9.6.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -496,8 +497,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_0.9.8.json b/chef_dsl_metadata/chef_0.9.8.json
index c568d42..7b5bfd0 100644
--- a/chef_dsl_metadata/chef_0.9.8.json
+++ b/chef_dsl_metadata/chef_0.9.8.json
@@ -444,7 +444,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -498,8 +499,6 @@
],
"remote_directory": [
"create",
- "create",
- "delete",
"delete",
"nothing"
],
diff --git a/chef_dsl_metadata/chef_10.12.0.json b/chef_dsl_metadata/chef_10.12.0.json
index ba1db19..fcae443 100644
--- a/chef_dsl_metadata/chef_10.12.0.json
+++ b/chef_dsl_metadata/chef_10.12.0.json
@@ -464,7 +464,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -526,10 +527,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.14.0.json b/chef_dsl_metadata/chef_10.14.0.json
index 8798b82..fb4e9ed 100644
--- a/chef_dsl_metadata/chef_10.14.0.json
+++ b/chef_dsl_metadata/chef_10.14.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.14.2.json b/chef_dsl_metadata/chef_10.14.2.json
index 8798b82..fb4e9ed 100644
--- a/chef_dsl_metadata/chef_10.14.2.json
+++ b/chef_dsl_metadata/chef_10.14.2.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.14.4.json b/chef_dsl_metadata/chef_10.14.4.json
index 8798b82..fb4e9ed 100644
--- a/chef_dsl_metadata/chef_10.14.4.json
+++ b/chef_dsl_metadata/chef_10.14.4.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.16.0.json b/chef_dsl_metadata/chef_10.16.0.json
index 8f8a08e..74685d9 100644
--- a/chef_dsl_metadata/chef_10.16.0.json
+++ b/chef_dsl_metadata/chef_10.16.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.16.2.json b/chef_dsl_metadata/chef_10.16.2.json
index 8f8a08e..74685d9 100644
--- a/chef_dsl_metadata/chef_10.16.2.json
+++ b/chef_dsl_metadata/chef_10.16.2.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.16.4.json b/chef_dsl_metadata/chef_10.16.4.json
index 8f8a08e..74685d9 100644
--- a/chef_dsl_metadata/chef_10.16.4.json
+++ b/chef_dsl_metadata/chef_10.16.4.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.16.6.json b/chef_dsl_metadata/chef_10.16.6.json
index 8f8a08e..74685d9 100644
--- a/chef_dsl_metadata/chef_10.16.6.json
+++ b/chef_dsl_metadata/chef_10.16.6.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.18.0.json b/chef_dsl_metadata/chef_10.18.0.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.18.0.json
+++ b/chef_dsl_metadata/chef_10.18.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.18.2.json b/chef_dsl_metadata/chef_10.18.2.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.18.2.json
+++ b/chef_dsl_metadata/chef_10.18.2.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.20.0.json b/chef_dsl_metadata/chef_10.20.0.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.20.0.json
+++ b/chef_dsl_metadata/chef_10.20.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.22.0.json b/chef_dsl_metadata/chef_10.22.0.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.22.0.json
+++ b/chef_dsl_metadata/chef_10.22.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.24.0.json b/chef_dsl_metadata/chef_10.24.0.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.24.0.json
+++ b/chef_dsl_metadata/chef_10.24.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.24.4.json b/chef_dsl_metadata/chef_10.24.4.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.24.4.json
+++ b/chef_dsl_metadata/chef_10.24.4.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_10.26.0.json b/chef_dsl_metadata/chef_10.26.0.json
index da85af6..900ee4d 100644
--- a/chef_dsl_metadata/chef_10.26.0.json
+++ b/chef_dsl_metadata/chef_10.26.0.json
@@ -469,7 +469,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -531,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.0.0.json b/chef_dsl_metadata/chef_11.0.0.json
index 3316e1e..8166652 100644
--- a/chef_dsl_metadata/chef_11.0.0.json
+++ b/chef_dsl_metadata/chef_11.0.0.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -511,10 +512,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.2.0.json b/chef_dsl_metadata/chef_11.2.0.json
index 3316e1e..8166652 100644
--- a/chef_dsl_metadata/chef_11.2.0.json
+++ b/chef_dsl_metadata/chef_11.2.0.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -511,10 +512,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.4.0.json b/chef_dsl_metadata/chef_11.4.0.json
index 3316e1e..8166652 100644
--- a/chef_dsl_metadata/chef_11.4.0.json
+++ b/chef_dsl_metadata/chef_11.4.0.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -511,10 +512,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.4.2.json b/chef_dsl_metadata/chef_11.4.2.json
index 3316e1e..8166652 100644
--- a/chef_dsl_metadata/chef_11.4.2.json
+++ b/chef_dsl_metadata/chef_11.4.2.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -511,10 +512,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.4.4.json b/chef_dsl_metadata/chef_11.4.4.json
index 3316e1e..8166652 100644
--- a/chef_dsl_metadata/chef_11.4.4.json
+++ b/chef_dsl_metadata/chef_11.4.4.json
@@ -442,7 +442,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -511,10 +512,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
diff --git a/chef_dsl_metadata/chef_11.0.0.json b/chef_dsl_metadata/chef_11.6.0.json
similarity index 88%
copy from chef_dsl_metadata/chef_11.0.0.json
copy to chef_dsl_metadata/chef_11.6.0.json
index 3316e1e..e673241 100644
--- a/chef_dsl_metadata/chef_11.0.0.json
+++ b/chef_dsl_metadata/chef_11.6.0.json
@@ -72,6 +72,7 @@
"key?",
"keys",
"kind_of?",
+ "lazy",
"method",
"method_missing",
"methods",
@@ -91,6 +92,11 @@
"parse_attribute_file_spec",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"psych_to_yaml",
@@ -214,6 +220,7 @@
"key?",
"keys",
"kind_of?",
+ "lazy",
"method",
"method_missing",
"methods",
@@ -233,6 +240,11 @@
"parse_attribute_file_spec",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"psych_to_yaml",
@@ -296,6 +308,10 @@
"nothing",
"run"
],
+ "batch": [
+ "nothing",
+ "run"
+ ],
"breakpoint": [
"break",
"nothing"
@@ -442,7 +458,8 @@
"nothing"
],
"log": [
- "nothing"
+ "nothing",
+ "write"
],
"macports_package": [
"install",
@@ -498,6 +515,10 @@
"remove",
"upgrade"
],
+ "powershell_script": [
+ "nothing",
+ "run"
+ ],
"python": [
"nothing",
"run"
@@ -511,10 +532,8 @@
],
"remote_directory": [
"create",
- "create",
"create_if_missing",
"delete",
- "delete",
"nothing"
],
"remote_file": [
@@ -678,6 +697,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -700,6 +720,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -766,6 +791,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -841,6 +867,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -862,6 +889,186 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
+ "private_methods",
+ "protected_methods",
+ "provider",
+ "provider=",
+ "provider_for_action",
+ "psych_to_yaml",
+ "psych_y",
+ "public_method",
+ "public_methods",
+ "public_send",
+ "recipe_name",
+ "recipe_name=",
+ "registry_data_exists?",
+ "registry_get_subkeys",
+ "registry_get_values",
+ "registry_has_subkeys?",
+ "registry_key_exists?",
+ "registry_value_exists?",
+ "resolve_notification_references",
+ "resource_name",
+ "resources",
+ "respond_to?",
+ "respond_to_missing?",
+ "retries",
+ "retries=",
+ "retry_delay",
+ "retry_delay=",
+ "returns",
+ "run_action",
+ "run_context",
+ "run_context=",
+ "search",
+ "send",
+ "set_or_return",
+ "should_skip?",
+ "singleton_class",
+ "singleton_methods",
+ "snake_case_basename",
+ "source_line",
+ "source_line=",
+ "state",
+ "subscribes",
+ "supports",
+ "systemu",
+ "taint",
+ "tainted?",
+ "tap",
+ "timeout",
+ "to_enum",
+ "to_hash",
+ "to_json",
+ "to_s",
+ "to_text",
+ "to_yaml",
+ "to_yaml_properties",
+ "trust",
+ "umask",
+ "untaint",
+ "untrust",
+ "untrusted?",
+ "updated",
+ "updated=",
+ "updated?",
+ "updated_by_last_action",
+ "updated_by_last_action?",
+ "user",
+ "validate",
+ "validate_action",
+ "validate_resource_spec!",
+ "value_for_platform",
+ "value_for_platform_family",
+ "y"
+ ],
+ "batch": [
+ "!",
+ "!=",
+ "!~",
+ "<=>",
+ "==",
+ "===",
+ "=~",
+ "__id__",
+ "__send__",
+ "action",
+ "after_created",
+ "allowed_actions",
+ "allowed_actions=",
+ "architecture",
+ "as_json",
+ "assert_valid_windows_architecture!",
+ "class",
+ "clone",
+ "code",
+ "command",
+ "convert_to_class_name",
+ "convert_to_snake_case",
+ "cookbook_name",
+ "cookbook_name=",
+ "cookbook_version",
+ "creates",
+ "customize_exception",
+ "cwd",
+ "data_bag",
+ "data_bag_item",
+ "define_singleton_method",
+ "defined_at",
+ "delayed_notifications",
+ "deprecated_ivar",
+ "disable_wow64_file_redirection",
+ "display",
+ "dup",
+ "elapsed_time",
+ "enclosing_provider",
+ "enclosing_provider=",
+ "enum_for",
+ "env",
+ "environment",
+ "epic_fail",
+ "eql?",
+ "equal?",
+ "events",
+ "extend",
+ "filename_to_qualified_string",
+ "flags",
+ "freeze",
+ "frozen?",
+ "gem",
+ "group",
+ "hash",
+ "identity",
+ "ignore_failure",
+ "immediate_notifications",
+ "initialize_clone",
+ "initialize_dup",
+ "inspect",
+ "instance_eval",
+ "instance_exec",
+ "instance_of?",
+ "instance_variable_defined?",
+ "instance_variable_get",
+ "instance_variable_set",
+ "instance_variables",
+ "interpreter",
+ "is",
+ "is_a?",
+ "is_i386_windows_process?",
+ "kind_of?",
+ "lazy",
+ "load_prior_resource",
+ "method",
+ "method_missing",
+ "methods",
+ "name",
+ "nil?",
+ "node_supports_windows_architecture?",
+ "node_windows_architecture",
+ "noop",
+ "not_if",
+ "not_if_args",
+ "notifies",
+ "notifies_delayed",
+ "notifies_immediately",
+ "object_id",
+ "only_if",
+ "only_if_args",
+ "params",
+ "params=",
+ "path",
+ "platform?",
+ "platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -885,6 +1092,7 @@
"resources",
"respond_to?",
"respond_to_missing?",
+ "restore_wow64_file_redirection",
"retries",
"retries=",
"retry_delay",
@@ -928,10 +1136,13 @@
"updated_by_last_action",
"updated_by_last_action?",
"user",
+ "valid_windows_architecture?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
+ "wow64_architecture_override_required?",
"y"
],
"breakpoint": [
@@ -995,6 +1206,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -1015,6 +1227,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1079,6 +1296,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -1145,6 +1363,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -1167,6 +1386,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1233,6 +1457,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -1253,8 +1478,10 @@
"allowed_actions",
"allowed_actions=",
"as_json",
+ "atomic_update",
"backup",
"checksum",
+ "checksum=",
"class",
"clone",
"content",
@@ -1285,6 +1512,7 @@
"events",
"extend",
"filename_to_qualified_string",
+ "force_unlink",
"freeze",
"frozen?",
"gem",
@@ -1307,7 +1535,9 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
+ "manage_symlink_source",
"method",
"method_missing",
"methods",
@@ -1330,6 +1560,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1397,6 +1632,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -1467,6 +1703,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"mailto",
"method",
@@ -1491,6 +1728,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1557,6 +1799,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"weekday",
@@ -1632,6 +1875,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -1653,6 +1897,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1721,6 +1970,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -1803,6 +2053,7 @@
"is_a?",
"keep_releases",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -1825,6 +2076,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -1911,6 +2167,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -1993,6 +2250,7 @@
"is_a?",
"keep_releases",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2015,6 +2273,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2101,6 +2364,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -2183,6 +2447,7 @@
"is_a?",
"keep_releases",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2205,6 +2470,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2291,6 +2561,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -2359,6 +2630,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2382,6 +2654,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2449,6 +2726,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -2514,6 +2792,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2536,6 +2815,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2602,6 +2886,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -2669,6 +2954,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2692,6 +2978,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2759,6 +3050,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -2827,6 +3119,7 @@
"is_a?",
"key_name",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -2847,6 +3140,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -2911,6 +3209,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value",
"value_for_platform",
"value_for_platform_family",
@@ -2980,6 +3279,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -3002,6 +3302,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3066,6 +3371,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -3137,6 +3443,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -3158,6 +3465,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3226,6 +3538,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -3245,8 +3558,10 @@
"allowed_actions",
"allowed_actions=",
"as_json",
+ "atomic_update",
"backup",
"checksum",
+ "checksum=",
"class",
"clone",
"content",
@@ -3276,6 +3591,7 @@
"events",
"extend",
"filename_to_qualified_string",
+ "force_unlink",
"freeze",
"frozen?",
"gem",
@@ -3298,7 +3614,9 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
+ "manage_symlink_source",
"method",
"method_missing",
"methods",
@@ -3321,6 +3639,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3387,6 +3710,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -3452,6 +3776,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -3474,6 +3799,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3540,6 +3870,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -3607,6 +3938,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -3629,6 +3961,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3695,6 +4032,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -3767,6 +4105,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -3787,6 +4126,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -3862,6 +4206,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -3930,6 +4275,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"members",
"method",
@@ -3951,6 +4297,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4017,6 +4368,7 @@
"users",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -4083,6 +4435,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"message",
"method",
@@ -4104,6 +4457,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4169,6 +4527,7 @@
"url",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -4239,6 +4598,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"mask",
"method",
@@ -4265,6 +4625,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4330,6 +4695,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -4396,6 +4762,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -4418,6 +4785,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4484,6 +4856,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -4553,6 +4926,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"link_type",
"load_prior_resource",
"method",
@@ -4577,6 +4951,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4645,6 +5024,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -4710,6 +5090,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"level",
"load_prior_resource",
"message",
@@ -4732,6 +5113,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4796,6 +5182,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -4861,6 +5248,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -4883,6 +5271,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -4949,6 +5342,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -5019,6 +5413,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"level",
"load_prior_resource",
"metadata",
@@ -5041,6 +5436,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5106,6 +5506,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -5142,6 +5543,7 @@
"device",
"device_type",
"display",
+ "domain",
"dump",
"dup",
"elapsed_time",
@@ -5176,6 +5578,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5198,8 +5601,14 @@
"params",
"params=",
"pass",
+ "password",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5262,8 +5671,10 @@
"updated?",
"updated_by_last_action",
"updated_by_last_action?",
+ "username",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -5329,6 +5740,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5350,6 +5762,11 @@
"platform?",
"platform_family?",
"plugin",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5414,6 +5831,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -5479,6 +5897,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5501,6 +5920,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5567,6 +5991,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -5633,6 +6058,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5655,6 +6081,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5721,6 +6152,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -5796,6 +6228,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5817,6 +6250,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -5885,6 +6323,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -5950,6 +6389,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -5972,6 +6412,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6038,11 +6483,190 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
"y"
],
+ "powershell_script": [
+ "!",
+ "!=",
+ "!~",
+ "<=>",
+ "==",
+ "===",
+ "=~",
+ "__id__",
+ "__send__",
+ "action",
+ "after_created",
+ "allowed_actions",
+ "allowed_actions=",
+ "architecture",
+ "as_json",
+ "assert_valid_windows_architecture!",
+ "class",
+ "clone",
+ "code",
+ "command",
+ "convert_to_class_name",
+ "convert_to_snake_case",
+ "cookbook_name",
+ "cookbook_name=",
+ "cookbook_version",
+ "creates",
+ "customize_exception",
+ "cwd",
+ "data_bag",
+ "data_bag_item",
+ "define_singleton_method",
+ "defined_at",
+ "delayed_notifications",
+ "deprecated_ivar",
+ "disable_wow64_file_redirection",
+ "display",
+ "dup",
+ "elapsed_time",
+ "enclosing_provider",
+ "enclosing_provider=",
+ "enum_for",
+ "env",
+ "environment",
+ "epic_fail",
+ "eql?",
+ "equal?",
+ "events",
+ "extend",
+ "filename_to_qualified_string",
+ "flags",
+ "freeze",
+ "frozen?",
+ "gem",
+ "group",
+ "hash",
+ "identity",
+ "ignore_failure",
+ "immediate_notifications",
+ "initialize_clone",
+ "initialize_dup",
+ "inspect",
+ "instance_eval",
+ "instance_exec",
+ "instance_of?",
+ "instance_variable_defined?",
+ "instance_variable_get",
+ "instance_variable_set",
+ "instance_variables",
+ "interpreter",
+ "is",
+ "is_a?",
+ "is_i386_windows_process?",
+ "kind_of?",
+ "lazy",
+ "load_prior_resource",
+ "method",
+ "method_missing",
+ "methods",
+ "name",
+ "nil?",
+ "node_supports_windows_architecture?",
+ "node_windows_architecture",
+ "noop",
+ "not_if",
+ "not_if_args",
+ "notifies",
+ "notifies_delayed",
+ "notifies_immediately",
+ "object_id",
+ "only_if",
+ "only_if_args",
+ "params",
+ "params=",
+ "path",
+ "platform?",
+ "platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
+ "private_methods",
+ "protected_methods",
+ "provider",
+ "provider=",
+ "provider_for_action",
+ "psych_to_yaml",
+ "psych_y",
+ "public_method",
+ "public_methods",
+ "public_send",
+ "recipe_name",
+ "recipe_name=",
+ "registry_data_exists?",
+ "registry_get_subkeys",
+ "registry_get_values",
+ "registry_has_subkeys?",
+ "registry_key_exists?",
+ "registry_value_exists?",
+ "resolve_notification_references",
+ "resource_name",
+ "resources",
+ "respond_to?",
+ "respond_to_missing?",
+ "restore_wow64_file_redirection",
+ "retries",
+ "retries=",
+ "retry_delay",
+ "retry_delay=",
+ "returns",
+ "run_action",
+ "run_context",
+ "run_context=",
+ "search",
+ "send",
+ "set_or_return",
+ "should_skip?",
+ "singleton_class",
+ "singleton_methods",
+ "snake_case_basename",
+ "source_line",
+ "source_line=",
+ "state",
+ "subscribes",
+ "supports",
+ "systemu",
+ "taint",
+ "tainted?",
+ "tap",
+ "timeout",
+ "to_enum",
+ "to_hash",
+ "to_json",
+ "to_s",
+ "to_text",
+ "to_yaml",
+ "to_yaml_properties",
+ "trust",
+ "umask",
+ "untaint",
+ "untrust",
+ "untrusted?",
+ "updated",
+ "updated=",
+ "updated?",
+ "updated_by_last_action",
+ "updated_by_last_action?",
+ "user",
+ "valid_windows_architecture?",
+ "validate",
+ "validate_action",
+ "validate_resource_spec!",
+ "value_for_platform",
+ "value_for_platform_family",
+ "wow64_architecture_override_required?",
+ "y"
+ ],
"python": [
"!",
"!=",
@@ -6113,6 +6737,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -6134,6 +6759,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6202,6 +6832,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -6269,6 +6900,7 @@
"is_a?",
"key",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -6289,6 +6921,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6354,6 +6991,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"values",
@@ -6429,6 +7067,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -6453,6 +7092,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6522,6 +7166,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -6541,8 +7186,10 @@
"allowed_actions",
"allowed_actions=",
"as_json",
+ "atomic_update",
"backup",
"checksum",
+ "checksum=",
"class",
"clone",
"content",
@@ -6572,11 +7219,14 @@
"events",
"extend",
"filename_to_qualified_string",
+ "force_unlink",
"freeze",
"frozen?",
+ "ftp_active_mode",
"gem",
"group",
"hash",
+ "headers",
"identity",
"ignore_failure",
"immediate_notifications",
@@ -6594,7 +7244,9 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
+ "manage_symlink_source",
"method",
"method_missing",
"methods",
@@ -6617,6 +7269,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6681,9 +7338,14 @@
"updated?",
"updated_by_last_action",
"updated_by_last_action?",
+ "use_conditional_get",
+ "use_etag",
+ "use_etags",
+ "use_last_modified",
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -6754,6 +7416,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -6778,6 +7441,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6844,6 +7512,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -6909,6 +7578,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -6931,6 +7601,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -6997,6 +7672,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -7072,6 +7748,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7093,6 +7770,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -7161,6 +7843,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -7228,6 +7911,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7248,6 +7932,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -7312,6 +8001,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -7381,6 +8071,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7401,6 +8092,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -7474,6 +8170,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -7548,6 +8245,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7569,6 +8267,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -7637,6 +8340,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -7704,6 +8408,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7726,6 +8431,11 @@
"pattern",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"priority",
"private_methods",
"protected_methods",
@@ -7798,6 +8508,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -7863,6 +8574,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -7885,6 +8597,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -7951,6 +8668,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
@@ -8021,6 +8739,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -8041,6 +8760,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -8114,6 +8838,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -8133,8 +8858,10 @@
"allowed_actions",
"allowed_actions=",
"as_json",
+ "atomic_update",
"backup",
"checksum",
+ "checksum=",
"class",
"clone",
"content",
@@ -8165,17 +8892,23 @@
"events",
"extend",
"filename_to_qualified_string",
+ "force_unlink",
"freeze",
"frozen?",
"gem",
"group",
"hash",
+ "helper",
+ "helper_modules",
+ "helpers",
"identity",
"ignore_failure",
"immediate_notifications",
"inherits",
"initialize_clone",
"initialize_dup",
+ "inline_helper_blocks",
+ "inline_helper_modules",
"inspect",
"instance_eval",
"instance_exec",
@@ -8187,8 +8920,10 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"local",
+ "manage_symlink_source",
"method",
"method_missing",
"methods",
@@ -8211,6 +8946,11 @@
"path",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -8278,6 +9018,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"variables",
@@ -8361,6 +9102,7 @@
"is_a?",
"keep_releases",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -8383,6 +9125,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -8469,6 +9216,7 @@
"user",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"y"
@@ -8538,6 +9286,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"manage_home",
"method",
@@ -8561,6 +9310,11 @@
"password",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -8629,8 +9383,187 @@
"username",
"validate",
"validate_action",
+ "validate_resource_spec!",
+ "value_for_platform",
+ "value_for_platform_family",
+ "y"
+ ],
+ "windows_script": [
+ "!",
+ "!=",
+ "!~",
+ "<=>",
+ "==",
+ "===",
+ "=~",
+ "__id__",
+ "__send__",
+ "action",
+ "after_created",
+ "allowed_actions",
+ "allowed_actions=",
+ "architecture",
+ "as_json",
+ "assert_valid_windows_architecture!",
+ "class",
+ "clone",
+ "code",
+ "command",
+ "convert_to_class_name",
+ "convert_to_snake_case",
+ "cookbook_name",
+ "cookbook_name=",
+ "cookbook_version",
+ "creates",
+ "customize_exception",
+ "cwd",
+ "data_bag",
+ "data_bag_item",
+ "define_singleton_method",
+ "defined_at",
+ "delayed_notifications",
+ "deprecated_ivar",
+ "disable_wow64_file_redirection",
+ "display",
+ "dup",
+ "elapsed_time",
+ "enclosing_provider",
+ "enclosing_provider=",
+ "enum_for",
+ "env",
+ "environment",
+ "epic_fail",
+ "eql?",
+ "equal?",
+ "events",
+ "extend",
+ "filename_to_qualified_string",
+ "flags",
+ "freeze",
+ "frozen?",
+ "gem",
+ "group",
+ "hash",
+ "identity",
+ "ignore_failure",
+ "immediate_notifications",
+ "initialize_clone",
+ "initialize_dup",
+ "inspect",
+ "instance_eval",
+ "instance_exec",
+ "instance_of?",
+ "instance_variable_defined?",
+ "instance_variable_get",
+ "instance_variable_set",
+ "instance_variables",
+ "interpreter",
+ "is",
+ "is_a?",
+ "is_i386_windows_process?",
+ "kind_of?",
+ "lazy",
+ "load_prior_resource",
+ "method",
+ "method_missing",
+ "methods",
+ "name",
+ "nil?",
+ "node_supports_windows_architecture?",
+ "node_windows_architecture",
+ "noop",
+ "not_if",
+ "not_if_args",
+ "notifies",
+ "notifies_delayed",
+ "notifies_immediately",
+ "object_id",
+ "only_if",
+ "only_if_args",
+ "params",
+ "params=",
+ "path",
+ "platform?",
+ "platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
+ "private_methods",
+ "protected_methods",
+ "provider",
+ "provider=",
+ "provider_for_action",
+ "psych_to_yaml",
+ "psych_y",
+ "public_method",
+ "public_methods",
+ "public_send",
+ "recipe_name",
+ "recipe_name=",
+ "registry_data_exists?",
+ "registry_get_subkeys",
+ "registry_get_values",
+ "registry_has_subkeys?",
+ "registry_key_exists?",
+ "registry_value_exists?",
+ "resolve_notification_references",
+ "resource_name",
+ "resources",
+ "respond_to?",
+ "respond_to_missing?",
+ "restore_wow64_file_redirection",
+ "retries",
+ "retries=",
+ "retry_delay",
+ "retry_delay=",
+ "returns",
+ "run_action",
+ "run_context",
+ "run_context=",
+ "search",
+ "send",
+ "set_or_return",
+ "should_skip?",
+ "singleton_class",
+ "singleton_methods",
+ "snake_case_basename",
+ "source_line",
+ "source_line=",
+ "state",
+ "subscribes",
+ "supports",
+ "systemu",
+ "taint",
+ "tainted?",
+ "tap",
+ "timeout",
+ "to_enum",
+ "to_hash",
+ "to_json",
+ "to_s",
+ "to_text",
+ "to_yaml",
+ "to_yaml_properties",
+ "trust",
+ "umask",
+ "untaint",
+ "untrust",
+ "untrusted?",
+ "updated",
+ "updated=",
+ "updated?",
+ "updated_by_last_action",
+ "updated_by_last_action?",
+ "user",
+ "valid_windows_architecture?",
+ "validate",
+ "validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
+ "wow64_architecture_override_required?",
"y"
],
"yum_package": [
@@ -8697,6 +9630,7 @@
"is",
"is_a?",
"kind_of?",
+ "lazy",
"load_prior_resource",
"method",
"method_missing",
@@ -8719,6 +9653,11 @@
"params=",
"platform?",
"platform_family?",
+ "pretty_inspect",
+ "pretty_print",
+ "pretty_print_cycle",
+ "pretty_print_inspect",
+ "pretty_print_instance_variables",
"private_methods",
"protected_methods",
"provider",
@@ -8785,6 +9724,7 @@
"updated_by_last_action?",
"validate",
"validate_action",
+ "validate_resource_spec!",
"value_for_platform",
"value_for_platform_family",
"version",
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile
deleted file mode 100644
index 3b64c78..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile.lock
deleted file mode 100644
index a024d01..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.0.gemfile.lock
+++ /dev/null
@@ -1,96 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- allison (2.0.3)
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.0)
- bunny (>= 0.6.0)
- erubis
- highline
- json (>= 1.4.4, <= 1.5.2)
- json (>= 1.4.4, <= 1.5.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- moneta
- net-ssh (~> 2.1.3)
- net-ssh-multi (~> 1.0.1)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- echoe (4.6.3)
- allison (>= 2.0.3)
- gemcutter (>= 0.7.0)
- rake (>= 0.9.2)
- rdoc (>= 3.6.1)
- rubyforge (>= 2.0.4)
- erubis (2.7.0)
- gemcutter (0.7.1)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.5.2)
- json_pure (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.1.4)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.0.1)
- echoe
- net-ssh (>= 1.99.2)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rdoc (4.0.1)
- json (~> 1.4)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- rubyforge (2.0.4)
- json_pure (>= 1.1.7)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile
deleted file mode 100644
index af0d9e7..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.10"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile.lock
deleted file mode 100644
index a4eb762..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.10.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.10)
- bunny (>= 0.6.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout (~> 1.0.0.rc)
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (>= 1.1.0)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.0.0)
- mixlib-shellout (1.0.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.10)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile
deleted file mode 100644
index b636be2..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile.lock
deleted file mode 100644
index 15515ce..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.2.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.2)
- bunny (>= 0.6.0)
- erubis
- highline
- json (>= 1.4.4, <= 1.5.2)
- json (>= 1.4.4, <= 1.5.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- moneta
- net-ssh (~> 2.1.3)
- net-ssh-multi (~> 1.0.1)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.5.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.1.4)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.0.1)
- net-ssh (>= 1.99.2)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile
deleted file mode 100644
index 526c7c4..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile.lock
deleted file mode 100644
index 5de6acc..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.4.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.4)
- bunny (>= 0.6.0)
- erubis
- highline
- json (>= 1.4.4, <= 1.5.2)
- json (>= 1.4.4, <= 1.5.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- moneta
- net-ssh (~> 2.1.3)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.5.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.1.4)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile
deleted file mode 100644
index 3a035a9..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.6"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile.lock
deleted file mode 100644
index 35be742..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.6.gemfile.lock
+++ /dev/null
@@ -1,80 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.6)
- bunny (>= 0.6.0)
- erubis
- highline
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- moneta
- net-ssh (~> 2.1.3)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.1.4)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.6)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile b/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile
deleted file mode 100644
index 9b3d39d..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.10.8"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile.lock
deleted file mode 100644
index b4abc6e..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.10.8.gemfile.lock
+++ /dev/null
@@ -1,80 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.10.8)
- bunny (>= 0.6.0)
- erubis
- highline
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- moneta
- net-ssh (~> 2.1.3)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.1.4)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.10.8)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile b/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile
deleted file mode 100644
index 1ce87d7..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "chef", "0.7.10"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile.lock
deleted file mode 100644
index 3f1c39d..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.10.gemfile.lock
+++ /dev/null
@@ -1,45 +0,0 @@
-GEM
- remote: http://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- chef (0.7.10)
- erubis
- extlib
- json
- mixlib-cli
- mixlib-config (>= 1.0.12)
- mixlib-log
- ohai
- ruby-openid
- stomp
- erubis (2.7.0)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- ruby-openid (2.2.3)
- stomp (1.2.9)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.7.10)
- rake (~> 0.9.2.2)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile b/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile
deleted file mode 100644
index ae1cd2a..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "aruba", "~> 0.4.11"
-gem "cucumber", "~> 1.2.1"
-gem "minitest", "~> 3.3.0"
-gem "simplecov", "~> 0.6.4"
-gem "chef", "0.7.12"
-
-gemspec :path=>"../"
\ No newline at end of file
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile.lock
deleted file mode 100644
index 14d0143..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.12.gemfile.lock
+++ /dev/null
@@ -1,98 +0,0 @@
-PATH
- remote: /home/acrmp/code/foodcritic
- specs:
- foodcritic (2.0.0)
- erubis
- gherkin (~> 2.11.1)
- nokogiri (~> 1.5.4)
- rak (~> 1.4)
- treetop (~> 1.4.10)
- yajl-ruby (~> 1.1.0)
-
-GEM
- remote: http://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- aruba (0.4.11)
- childprocess (>= 0.2.3)
- cucumber (>= 1.1.1)
- ffi (>= 1.0.11)
- rspec (>= 2.7.0)
- builder (3.2.0)
- chef (0.7.12)
- erubis
- extlib
- json
- mixlib-cli
- mixlib-config (>= 1.0.12)
- mixlib-log
- ohai (>= 0.3.4)
- ruby-openid
- stomp
- childprocess (0.3.9)
- ffi (~> 1.0, >= 1.0.11)
- cucumber (1.2.3)
- builder (>= 2.1.2)
- diff-lcs (>= 1.1.3)
- gherkin (~> 2.11.6)
- multi_json (~> 1.3)
- diff-lcs (1.2.1)
- erubis (2.7.0)
- extlib (0.9.16)
- ffi (1.6.0)
- gherkin (2.11.6)
- json (>= 1.7.6)
- ipaddress (0.8.0)
- json (1.7.7)
- minitest (3.3.0)
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- multi_json (1.7.2)
- nokogiri (1.5.9)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rak (1.4)
- rake (0.9.2.2)
- rspec (2.13.0)
- rspec-core (~> 2.13.0)
- rspec-expectations (~> 2.13.0)
- rspec-mocks (~> 2.13.0)
- rspec-core (2.13.1)
- rspec-expectations (2.13.0)
- diff-lcs (>= 1.1.3, < 2.0)
- rspec-mocks (2.13.0)
- ruby-openid (2.2.3)
- simplecov (0.6.4)
- multi_json (~> 1.0)
- simplecov-html (~> 0.5.3)
- simplecov-html (0.5.3)
- stomp (1.2.9)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- aruba (~> 0.4.11)
- chef (= 0.7.12)
- cucumber (~> 1.2.1)
- foodcritic!
- minitest (~> 3.3.0)
- rake (~> 0.9.2.2)
- simplecov (~> 0.6.4)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile b/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile
deleted file mode 100644
index 08bec5b..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "chef", "0.7.16"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile.lock
deleted file mode 100644
index 2394042..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.7.16.gemfile.lock
+++ /dev/null
@@ -1,45 +0,0 @@
-GEM
- remote: http://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- chef (0.7.16)
- erubis
- extlib
- json
- mixlib-cli
- mixlib-config (>= 1.0.12)
- mixlib-log
- ohai (>= 0.3.6)
- ruby-openid
- stomp
- erubis (2.7.0)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- ruby-openid (2.2.3)
- stomp (1.2.9)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.7.16)
- rake (~> 0.9.2.2)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile b/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile
deleted file mode 100644
index 2c32d23..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "chef", "0.8.10"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile.lock
deleted file mode 100644
index 00b8715..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.10.gemfile.lock
+++ /dev/null
@@ -1,48 +0,0 @@
-GEM
- remote: http://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.8.10)
- bunny (>= 0.6.0)
- erubis
- extlib
- json
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- erubis (2.7.0)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.8.10)
- rake (~> 0.9.2.2)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile b/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile
deleted file mode 100644
index 0bdf4db..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.8.14"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile.lock
deleted file mode 100644
index f33f430..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.14.gemfile.lock
+++ /dev/null
@@ -1,49 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.8.14)
- bunny (>= 0.6.0)
- erubis
- extlib
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- erubis (2.7.0)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.8.14)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile b/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile
deleted file mode 100644
index 2b3904d..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.8.16"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile.lock
deleted file mode 100644
index c250ffe..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.16.gemfile.lock
+++ /dev/null
@@ -1,49 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.8.16)
- bunny (>= 0.6.0)
- erubis
- extlib
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- erubis (2.7.0)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.8.16)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile b/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile
deleted file mode 100644
index 15db529..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "chef", "0.8.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile.lock
deleted file mode 100644
index 3800d5f..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.2.gemfile.lock
+++ /dev/null
@@ -1,60 +0,0 @@
-GEM
- remote: http://rubygems.org/
- specs:
- amq-client (1.0.0)
- amq-protocol (>= 1.2.0)
- eventmachine
- amq-protocol (1.2.0)
- amqp (1.0.0)
- amq-client (~> 1.0.0)
- amq-protocol (~> 1.2.0)
- eventmachine
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.8.2)
- amqp
- bunny (>= 0.6.0)
- erubis
- extlib
- json
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.4.0)
- ruby-hmac
- erubis (2.7.0)
- eventmachine (1.0.3)
- extlib (0.9.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- ruby-hmac (0.4.0)
- systemu (2.5.2)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.8.2)
- rake (~> 0.9.2.2)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile b/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile
deleted file mode 100644
index abeabbd..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "aruba", "~> 0.4.11"
-gem "cucumber", "~> 1.2.1"
-gem "minitest", "~> 3.3.0"
-gem "simplecov", "~> 0.6.4"
-gem "chef", "0.8.4"
-
-gemspec :path=>"../"
\ No newline at end of file
diff --git a/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile.lock
deleted file mode 100644
index 5494a23..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.8.4.gemfile.lock
+++ /dev/null
@@ -1,113 +0,0 @@
-PATH
- remote: /home/acrmp/code/foodcritic
- specs:
- foodcritic (2.0.0)
- erubis
- gherkin (~> 2.11.1)
- nokogiri (~> 1.5.4)
- rak (~> 1.4)
- treetop (~> 1.4.10)
- yajl-ruby (~> 1.1.0)
-
-GEM
- remote: http://rubygems.org/
- specs:
- amq-client (1.0.0)
- amq-protocol (>= 1.2.0)
- eventmachine
- amq-protocol (1.2.0)
- amqp (1.0.0)
- amq-client (~> 1.0.0)
- amq-protocol (~> 1.2.0)
- eventmachine
- appraisal (0.5.1)
- bundler
- rake
- aruba (0.4.11)
- childprocess (>= 0.2.3)
- cucumber (>= 1.1.1)
- ffi (>= 1.0.11)
- rspec (>= 2.7.0)
- builder (3.2.0)
- bunny (0.8.0)
- chef (0.8.4)
- amqp
- bunny (>= 0.6.0)
- erubis
- extlib
- json
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.4.0)
- ruby-hmac
- childprocess (0.3.9)
- ffi (~> 1.0, >= 1.0.11)
- cucumber (1.2.3)
- builder (>= 2.1.2)
- diff-lcs (>= 1.1.3)
- gherkin (~> 2.11.6)
- multi_json (~> 1.3)
- diff-lcs (1.2.1)
- erubis (2.7.0)
- eventmachine (1.0.3)
- extlib (0.9.16)
- ffi (1.6.0)
- gherkin (2.11.6)
- json (>= 1.7.6)
- ipaddress (0.8.0)
- json (1.7.7)
- minitest (3.3.0)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- multi_json (1.7.2)
- nokogiri (1.5.9)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rak (1.4)
- rake (0.9.2.2)
- rspec (2.13.0)
- rspec-core (~> 2.13.0)
- rspec-expectations (~> 2.13.0)
- rspec-mocks (~> 2.13.0)
- rspec-core (2.13.1)
- rspec-expectations (2.13.0)
- diff-lcs (>= 1.1.3, < 2.0)
- rspec-mocks (2.13.0)
- ruby-hmac (0.4.0)
- simplecov (0.6.4)
- multi_json (~> 1.0)
- simplecov-html (~> 0.5.3)
- simplecov-html (0.5.3)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- aruba (~> 0.4.11)
- chef (= 0.8.4)
- cucumber (~> 1.2.1)
- foodcritic!
- minitest (~> 3.3.0)
- rake (~> 0.9.2.2)
- simplecov (~> 0.6.4)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile
deleted file mode 100644
index 51e1306..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile.lock
deleted file mode 100644
index e7cc1a8..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.0.gemfile.lock
+++ /dev/null
@@ -1,58 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.0)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- rest-client (>= 1.0.4, <= 1.5.1)
- rest-client (>= 1.0.4, <= 1.5.1)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.5.1)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile
deleted file mode 100644
index e075f6e..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.10"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile.lock
deleted file mode 100644
index 047b8fd..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.10.gemfile.lock
+++ /dev/null
@@ -1,59 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.10)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (>= 1.4.4, <= 1.4.6)
- json (>= 1.4.4, <= 1.4.6)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.2.0)
- moneta
- ohai (>= 0.5.7)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.6)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.10)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile
deleted file mode 100644
index 5701a08..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.12"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile.lock
deleted file mode 100644
index 81e1c54..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.12.gemfile.lock
+++ /dev/null
@@ -1,59 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.12)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (>= 1.4.4, <= 1.4.6)
- json (>= 1.4.4, <= 1.4.6)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.2.0)
- moneta
- ohai (>= 0.5.7)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.6)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.12)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile
deleted file mode 100644
index e07d146..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.14"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile.lock
deleted file mode 100644
index ddce833..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.14.gemfile.lock
+++ /dev/null
@@ -1,59 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.14)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (>= 1.4.4, <= 1.4.6)
- json (>= 1.4.4, <= 1.4.6)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.2.0)
- moneta
- ohai (>= 0.5.7)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.6)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.14)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile
deleted file mode 100644
index 9f22d4f..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.16"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile.lock
deleted file mode 100644
index b875d74..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.16.gemfile.lock
+++ /dev/null
@@ -1,59 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.16)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (>= 1.4.4, <= 1.4.6)
- json (>= 1.4.4, <= 1.4.6)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.2.0)
- moneta
- ohai (>= 0.5.7)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.6)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.16)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile
deleted file mode 100644
index 8455a9c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.18"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile.lock
deleted file mode 100644
index 9c6bb5d..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.18.gemfile.lock
+++ /dev/null
@@ -1,59 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.18)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (>= 1.4.4, <= 1.4.6)
- json (>= 1.4.4, <= 1.4.6)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.2.0)
- moneta
- ohai (>= 0.5.7)
- rest-client (>= 1.0.4, < 1.7.0)
- rest-client (>= 1.0.4, < 1.7.0)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.6)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.18)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile
deleted file mode 100644
index f681e68..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile.lock
deleted file mode 100644
index 4e0f46c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.2.gemfile.lock
+++ /dev/null
@@ -1,58 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.2)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- rest-client (>= 1.0.4, <= 1.5.1)
- rest-client (>= 1.0.4, <= 1.5.1)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.5.1)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile
deleted file mode 100644
index bda1fff..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile.lock
deleted file mode 100644
index ac4afe8..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.4.gemfile.lock
+++ /dev/null
@@ -1,58 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.4)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- rest-client (>= 1.0.4, <= 1.5.1)
- rest-client (>= 1.0.4, <= 1.5.1)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.5.1)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile
deleted file mode 100644
index ffd9ce6..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.6"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile.lock
deleted file mode 100644
index 3c573d1..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.6.gemfile.lock
+++ /dev/null
@@ -1,58 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.6)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.0)
- rest-client (>= 1.0.4, <= 1.5.1)
- rest-client (>= 1.0.4, <= 1.5.1)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.5.1)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.6)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile b/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile
deleted file mode 100644
index 02048db..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "0.9.8"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile.lock
deleted file mode 100644
index 620ab7a..0000000
--- a/chef_dsl_metadata/gemfiles/chef_0.9.8.gemfile.lock
+++ /dev/null
@@ -1,58 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (0.9.8)
- bunny (>= 0.6.0)
- erubis
- extlib
- highline
- json (<= 1.4.2)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.0)
- mixlib-log (>= 1.1.0)
- moneta
- ohai (>= 0.5.6)
- rest-client (>= 1.0.4, <= 1.5.1)
- rest-client (>= 1.0.4, <= 1.5.1)
- uuidtools
- erubis (2.7.0)
- extlib (0.9.16)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.4.2)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- moneta (0.7.14)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.5.1)
- mime-types (>= 1.16)
- systemu (2.5.2)
- uuidtools (2.1.3)
- yajl-ruby (1.1.0)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 0.9.8)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile
deleted file mode 100644
index ca0c526..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.12.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile.lock
deleted file mode 100644
index ff062f0..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.12.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.8.0)
- chef (10.12.0)
- bunny (>= 0.6.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.1.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.12.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile
deleted file mode 100644
index 11e5a64..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.14.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile.lock
deleted file mode 100644
index a33b83c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.14.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.14.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile b/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile
deleted file mode 100644
index f65ce18..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.14.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile.lock
deleted file mode 100644
index 0d8239e..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.2.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.14.2)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.14.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile b/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile
deleted file mode 100644
index 51701d5..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.14.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile.lock
deleted file mode 100644
index 982e35b..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.14.4.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.14.4)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.14.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile
deleted file mode 100644
index 71321a3..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.16.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile.lock
deleted file mode 100644
index 9b727b1..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.16.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.16.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile b/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile
deleted file mode 100644
index bf1e6c2..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.16.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile.lock
deleted file mode 100644
index 4ac7e07..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.2.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.16.2)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.7.14)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.16.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile b/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile
deleted file mode 100644
index 112a6e5..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.16.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile.lock
deleted file mode 100644
index b2ea263..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.4.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.16.4)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.16.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile b/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile
deleted file mode 100644
index 6ea6229..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.16.6"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile.lock
deleted file mode 100644
index 918c0c7..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.16.6.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.16.6)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.16.6)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile
deleted file mode 100644
index 7b39475..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.18.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile.lock
deleted file mode 100644
index dceab9c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.18.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.18.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.18.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile b/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile
deleted file mode 100644
index 4317e1f..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.18.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile.lock
deleted file mode 100644
index 3997666..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.18.2.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.18.2)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.18.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile
deleted file mode 100644
index f2fe072..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.20.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile.lock
deleted file mode 100644
index 4638adc..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.20.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.20.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (~> 1.7.6, >= 1.4.4)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.6.6)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.20.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile
deleted file mode 100644
index 99e28e7..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.22.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile.lock
deleted file mode 100644
index d9cc24f..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.22.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.22.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.6.6)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.22.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile
deleted file mode 100644
index 681f091..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.24.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile.lock
deleted file mode 100644
index ff5afc6..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.24.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- bunny (0.7.9)
- chef (10.24.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.6.6)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.3)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.24.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile b/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile
deleted file mode 100644
index 72f8cd2..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.24.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile.lock
deleted file mode 100644
index c3a364d..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.24.4.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.2)
- bundler
- rake
- bunny (0.7.9)
- chef (10.24.4)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.18)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.23)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.6.0)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.6.7)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.4)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.24.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile b/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile
deleted file mode 100644
index 360b843..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "10.26.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile.lock
deleted file mode 100644
index 250c1e6..0000000
--- a/chef_dsl_metadata/gemfiles/chef_10.26.0.gemfile.lock
+++ /dev/null
@@ -1,82 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.2)
- bundler
- rake
- bunny (0.7.9)
- chef (10.26.0)
- bunny (>= 0.6.0, < 0.8.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (>= 1.1.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- moneta (< 0.7.0)
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- treetop (~> 1.4.9)
- uuidtools
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.18)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.23)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.6.0)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- moneta (0.6.0)
- net-ssh (2.6.7)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- polyglot (0.3.3)
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- treetop (1.4.12)
- polyglot
- polyglot (>= 0.3.1)
- uuidtools (2.1.4)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 10.26.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile b/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile
deleted file mode 100644
index dfd3fa0..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "11.0.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile.lock
deleted file mode 100644
index f8e417b..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.0.0.gemfile.lock
+++ /dev/null
@@ -1,71 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- chef (11.0.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.6.1)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (~> 1.3.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- net-ssh (~> 2.2.2)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.6.1)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- net-ssh (2.2.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 11.0.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_11.0.1.gemfile b/chef_dsl_metadata/gemfiles/chef_11.0.1.gemfile
deleted file mode 100644
index b9f13e1..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.0.1.gemfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was generated by Appraisal
-
-source "http://rubygems.org"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "chef", "11.0.1"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile b/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile
deleted file mode 100644
index 960f807..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "11.2.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile.lock
deleted file mode 100644
index 084ff28..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.2.0.gemfile.lock
+++ /dev/null
@@ -1,71 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- chef (11.2.0)
- erubis
- highline (>= 1.6.9)
- json (~> 1.7.6, >= 1.4.4)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (~> 1.3.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- net-ssh (2.6.6)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 11.2.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile b/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile
deleted file mode 100644
index 89a8a4c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "11.4.0"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile.lock
deleted file mode 100644
index 9184d5b..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.0.gemfile.lock
+++ /dev/null
@@ -1,71 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.1)
- bundler
- rake
- chef (11.4.0)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (~> 1.3.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.16)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.21)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.4.1)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- net-ssh (2.6.6)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 11.4.0)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile b/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile
deleted file mode 100644
index e6d0d4c..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "11.4.2"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile.lock
deleted file mode 100644
index e308cd9..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.2.gemfile.lock
+++ /dev/null
@@ -1,71 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.2)
- bundler
- rake
- chef (11.4.2)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (~> 1.3.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.18)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.23)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.6.0)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- net-ssh (2.6.7)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 11.4.2)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile b/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile
deleted file mode 100644
index b2a2788..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# This file was generated by Appraisal
-
-source "https://rubygems.org/"
-
-gem "appraisal", "~> 0.5.1"
-gem "rake", "~> 0.9.2.2"
-gem "yajl-ruby", "~> 1.1.0"
-gem "chef", "11.4.4"
-
diff --git a/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile.lock b/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile.lock
deleted file mode 100644
index 98df4e4..0000000
--- a/chef_dsl_metadata/gemfiles/chef_11.4.4.gemfile.lock
+++ /dev/null
@@ -1,71 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- appraisal (0.5.2)
- bundler
- rake
- chef (11.4.4)
- erubis
- highline (>= 1.6.9)
- json (>= 1.4.4, <= 1.7.7)
- mixlib-authentication (>= 1.3.0)
- mixlib-cli (~> 1.3.0)
- mixlib-config (>= 1.1.2)
- mixlib-log (>= 1.3.0)
- mixlib-shellout
- net-ssh (~> 2.6)
- net-ssh-multi (~> 1.1.0)
- ohai (>= 0.6.0)
- rest-client (>= 1.0.4, < 1.7.0)
- yajl-ruby (~> 1.1)
- erubis (2.7.0)
- highline (1.6.18)
- ipaddress (0.8.0)
- json (1.7.7)
- mime-types (1.23)
- mixlib-authentication (1.3.0)
- mixlib-log
- mixlib-cli (1.3.0)
- mixlib-config (1.1.2)
- mixlib-log (1.6.0)
- mixlib-shellout (1.1.0)
- mixlib-shellout (1.1.0-x86-mingw32)
- win32-process (~> 0.6.5)
- net-ssh (2.6.7)
- net-ssh-gateway (1.2.0)
- net-ssh (>= 2.6.5)
- net-ssh-multi (1.1)
- net-ssh (>= 2.1.4)
- net-ssh-gateway (>= 0.99.0)
- ohai (6.16.0)
- ipaddress
- mixlib-cli
- mixlib-config
- mixlib-log
- mixlib-shellout
- systemu
- yajl-ruby
- rake (0.9.2.2)
- rest-client (1.6.7)
- mime-types (>= 1.16)
- systemu (2.5.2)
- win32-api (1.4.8-x86-mingw32)
- win32-process (0.6.6)
- windows-pr (>= 1.2.2)
- windows-api (0.4.2)
- win32-api (>= 1.4.5)
- windows-pr (1.2.2)
- win32-api (>= 1.4.5)
- windows-api (>= 0.3.0)
- yajl-ruby (1.1.0)
- yajl-ruby (1.1.0-x86-mingw32)
-
-PLATFORMS
- ruby
- x86-mingw32
-
-DEPENDENCIES
- appraisal (~> 0.5.1)
- chef (= 11.4.4)
- rake (~> 0.9.2.2)
- yajl-ruby (~> 1.1.0)
diff --git a/chef_dsl_metadata/windows.rb b/chef_dsl_metadata/windows.rb
deleted file mode 100644
index c99a195..0000000
--- a/chef_dsl_metadata/windows.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-def windows?
- !! RUBY_PLATFORM =~ /mswin|mingw|windows/
-end
-
-def has_windows_rights?(version)
- Gem::Version.new(version) >= Gem::Version.new('0.10.10')
-end
diff --git a/features/007_check_for_undeclared_recipe_dependencies.feature b/features/007_check_for_undeclared_recipe_dependencies.feature
index 6892eda..09f128e 100644
--- a/features/007_check_for_undeclared_recipe_dependencies.feature
+++ b/features/007_check_for_undeclared_recipe_dependencies.feature
@@ -4,15 +4,16 @@ Feature: Check for undeclared recipe dependencies
As a developer
I want to identify included recipes that are not expressed in cookbook metadata
- Scenario: Cookbook includes undeclared recipe dependency
- Given a cookbook recipe that includes an undeclared recipe dependency
- When I check the cookbook
- Then the undeclared dependency warning 007 should be displayed
-
- Scenario: Cookbook includes undeclared recipe dependency unscoped
- Given a cookbook recipe that includes an undeclared recipe dependency unscoped
+ Scenario Outline: Cookbook includes undeclared recipe dependency
+ Given a cookbook recipe that includes an undeclared recipe dependency <qualifiers>
When I check the cookbook
Then the undeclared dependency warning 007 should be displayed
+ Examples:
+ | qualifiers |
+ | |
+ | with parentheses |
+ | unscoped |
+ | unscoped with parentheses |
Scenario: Cookbook includes recipe via expression
Given a cookbook recipe that includes a recipe name from an expression
@@ -29,41 +30,24 @@ Feature: Check for undeclared recipe dependencies
| #{cookbook_name}::other |
| #{cbk}_other::other |
- Scenario: Cookbook includes declared recipe dependency
- Given a cookbook recipe that includes a declared recipe dependency
- When I check the cookbook
- Then the undeclared dependency warning 007 should not be displayed
-
- Scenario: Cookbook includes declared recipe dependency unscoped
- Given a cookbook recipe that includes a declared recipe dependency unscoped
- When I check the cookbook
- Then the undeclared dependency warning 007 should not be displayed
-
- Scenario: Cookbook includes several declared recipe dependencies
- Given a cookbook recipe that includes several declared recipe dependencies - brace
- When I check the cookbook
- Then the undeclared dependency warning 007 should not be displayed
-
- Scenario: Cookbook includes several declared recipe dependencies
- Given a cookbook recipe that includes several declared recipe dependencies - block
+ Scenario Outline: Declared dependencies
+ Given a cookbook recipe that includes <dependency_type>
When I check the cookbook
Then the undeclared dependency warning 007 should not be displayed
+ Examples:
+ | dependency_type |
+ | a declared recipe dependency |
+ | a declared recipe dependency unscoped |
+ | several declared recipe dependencies - block |
+ | several declared recipe dependencies - brace |
+ | a local recipe |
+ | a local recipe where the directory is differently named |
Scenario: Cookbook includes mix of declared and undeclared recipe dependencies
Given a cookbook recipe that includes both declared and undeclared recipe dependencies
When I check the cookbook
Then the undeclared dependency warning 007 should be displayed only for the undeclared dependencies
- Scenario: Cookbook includes local recipe
- Given a cookbook recipe that includes a local recipe
- When I check the cookbook
- Then the undeclared dependency warning 007 should not be displayed
-
- Scenario: Cookbook includes local recipe - name in metadata
- Given a cookbook recipe that includes a local recipe where the directory is differently named
- When I check the cookbook
- Then the undeclared dependency warning 007 should not be displayed
-
Scenario: Cookbook has no metadata file
Given a cookbook that does not have defined metadata
When I check the cookbook
diff --git a/features/017_check_for_no_lwrp_notifications.feature b/features/017_check_for_no_lwrp_notifications.feature
index beb96a9..8f9bd5f 100644
--- a/features/017_check_for_no_lwrp_notifications.feature
+++ b/features/017_check_for_no_lwrp_notifications.feature
@@ -23,3 +23,28 @@ Feature: Check for no LWRP notifications
Given a cookbook that contains a LWRP with multiple notifications
When I check the cookbook
Then the LWRP does not notify when updated warning 017 should not be displayed against the provider file
+
+ Scenario Outline: LWRP using converge_by
+ Given a cookbook that contains a LWRP that uses converge_by - <block_type> block <with_parens> parentheses
+ When I check the cookbook
+ Then the LWRP does not notify when updated warning 017 should not be displayed against the provider file
+ Examples:
+ | block_type | with_parens |
+ | brace | with |
+ | do | with |
+ | do | without |
+
+ Scenario: LWRP using use_inline_resources
+ Given a cookbook that contains a LWRP that uses use_inline_resources
+ When I check the cookbook
+ Then the LWRP does not notify when updated warning 017 should not be displayed against the provider file
+
+ Scenario Outline: Warnings raised for actions individually
+ Given a LWRP with an action :create that notifies with <notify_type> and another :delete that does not notify
+ When I check the cookbook
+ Then the LWRP does not notify when updated warning 017 should not be shown against the :create action
+ And the LWRP does not notify when updated warning 017 should be shown against the :delete action
+ Examples:
+ | notify_type |
+ | converge_by |
+ | updated_by_last_action |
diff --git a/features/019_check_for_consistent_node_access.feature b/features/019_check_for_consistent_node_access.feature
index 4c0bfc7..7574f54 100644
--- a/features/019_check_for_consistent_node_access.feature
+++ b/features/019_check_for_consistent_node_access.feature
@@ -53,6 +53,7 @@ Feature: Check for consistency in node access
| reads | strings | platform? | not shown |
| reads | symbols | run_list | not shown |
| reads | symbols | run_state | not shown |
+ | reads | strings | run_state | not shown |
| reads | strings | set | not shown |
| reads | strings,symbols | set | shown |
diff --git a/features/022_check_for_dodgy_conditions_within_loop.feature b/features/022_check_for_dodgy_conditions_within_loop.feature
index 171d8a7..ec727a8 100644
--- a/features/022_check_for_dodgy_conditions_within_loop.feature
+++ b/features/022_check_for_dodgy_conditions_within_loop.feature
@@ -26,3 +26,8 @@ Feature: Check for dodgy resource conditions within a loop
| "feed_pet" | only_if "[ -f \"/tmp/#{pet_name}\" ]" | should |
| "feed_pet_#{pet_name}" | not_if "[ -f \"/tmp/#{pet_name}\" ]" | should not |
| pet_name | not_if "[ -f \"/tmp/#{pet_name}\" ]" | should not |
+
+ Scenario: Resource within a multi-arg block
+ Given a resource declared with a guard within a loop with multiple block arguments
+ When I check the cookbook
+ Then the dodgy resource condition warning 022 should not be shown
diff --git a/features/033_check_for_missing_template.feature b/features/033_check_for_missing_template.feature
index 29095e8..bb0ec2e 100644
--- a/features/033_check_for_missing_template.feature
+++ b/features/033_check_for_missing_template.feature
@@ -4,70 +4,26 @@ Feature: Check for missing template
As a developer
I want to identify template resources that refer to missing templates
- Scenario: Missing template
- Given a cookbook recipe that refers to a missing template
- When I check the cookbook
- Then the missing template warning 033 should be displayed
-
- Scenario: Missing template (inferred)
- Given a cookbook recipe that uses a missing inferred template
- When I check the cookbook
- Then the missing template warning 033 should be displayed
-
- Scenario: Present template
- Given a cookbook recipe that refers to a template
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Present template (not .erb)
- Given a cookbook recipe that refers to a template without an erb extension
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Present template (subdirectory)
- Given a cookbook recipe that refers to a template in a subdirectory
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Present template (inferred)
- Given a cookbook recipe that uses an inferred template
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template present in another cookbook
- Given a cookbook recipe that uses a template from another cookbook
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Local template
- Given a cookbook recipe that refers to a local template
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template source name is an expression
- Given a cookbook recipe that refers to a template with an expression
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template source is an expression (inferred)
- Given a cookbook recipe that infers a template with an expression
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template name and source are expressions
- Given a cookbook recipe that defines a template where name and source are both simple expressions
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template name is a complex expression
- Given a cookbook recipe that defines a template where name is a complex expression
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
-
- Scenario: Template name and source are complex expressions
- Given a cookbook recipe that defines a template where both the name and source are complex expressions
- When I check the cookbook
- Then the missing template warning 033 should not be displayed
+ Scenario Outline: Template types
+ Given a cookbook recipe that <template_type>
+ When I check the cookbook
+ Then the missing template warning 033 <warning>
+ Examples:
+ | template_type | warning |
+ | defines a template where both the name and source are complex expressions | should not be displayed |
+ | defines a template where name and source are both simple expressions | should not be displayed |
+ | defines a template where name is a complex expression | should not be displayed |
+ | infers a template with an expression | should not be displayed |
+ | refers to a hidden template | should not be displayed |
+ | refers to a local template | should not be displayed |
+ | refers to a missing template | should be displayed |
+ | refers to a template in a subdirectory | should not be displayed |
+ | refers to a template | should not be displayed |
+ | refers to a template with an expression | should not be displayed |
+ | refers to a template without an erb extension | should not be displayed |
+ | uses a missing inferred template | should be displayed |
+ | uses an inferred template | should not be displayed |
+ | uses a template from another cookbook | should not be displayed |
Scenario: Template within deploy resource
Given a cookbook recipe with a deploy resource that contains a template resource
diff --git a/features/034_check_for_unused_template_variables.feature b/features/034_check_for_unused_template_variables.feature
index 3622b50..4a80469 100644
--- a/features/034_check_for_unused_template_variables.feature
+++ b/features/034_check_for_unused_template_variables.feature
@@ -35,3 +35,47 @@ Feature: Check for unused template variables
| config_var,another_var | @another_var | .conf.erb | should |
| config_var | @config_var | .conf | should not |
| config_var,another_var | @another_var | .conf | should |
+
+ Scenario Outline: Variables passed with includes
+ Given a cookbook that passes variables <variables> to a template with extension <extension>
+ And the template <extension> contains partial includes of type <type> with the expression <expression>
+ When I check the cookbook
+ Then the unused template variables warning 034 <displayed> be displayed against the template <extension>
+ Examples:
+ | variables | expression | type | extension | displayed |
+ | config_var | node[:configs][:config_var] | no parentheses | .conf.erb | should |
+ | config_var | @config_var | no parentheses | .conf.erb | should not |
+ | config_var | @config_var['foo'] | no parentheses | .conf.erb | should not |
+ | config_var | node[:configs][:config_var] | no parentheses | .conf.erb | should |
+ | config_var,another_var | node[:configs][:config_var] | no parentheses | .conf.erb | should |
+ | config_var,another_var | @config_var | no parentheses | .conf.erb | should |
+ | config_var,another_var | @another_var | no parentheses | .conf.erb | should |
+ | config_var | @config_var | no parentheses | .conf | should not |
+ | config_var,another_var | @another_var | no parentheses | .conf | should |
+ | config_var | node[:configs][:config_var] | parentheses | .conf.erb | should |
+ | config_var | @config_var | parentheses | .conf.erb | should not |
+ | config_var | @config_var['foo'] | parentheses | .conf.erb | should not |
+ | config_var | node[:configs][:config_var] | parentheses | .conf.erb | should |
+ | config_var,another_var | node[:configs][:config_var] | parentheses | .conf.erb | should |
+ | config_var,another_var | @config_var | parentheses | .conf.erb | should |
+ | config_var,another_var | @another_var | parentheses | .conf.erb | should |
+ | config_var | @config_var | parentheses | .conf | should not |
+ | config_var,another_var | @another_var | parentheses | .conf | should |
+ | config_var,another_var | @config_var, at another_var | nested | .conf | should not |
+ | config_var,another_var | @config_var | nested | .conf | should |
+
+ Scenario Outline: Template path is inferred
+ Given a cookbook that passes variables <variables> to an inferred template
+ And the inferred template contains the expression <expression>
+ When I check the cookbook
+ Then the unused template variables warning 034 <displayed> be displayed against the inferred template
+ Examples:
+ | variables | expression | displayed |
+ | config_var | node[:configs][:config_var] | should |
+ | config_var | @config_var | should not |
+
+ Scenario: Template includes contain cycle
+ Given a template that includes a partial that includes the original template again
+ When I check the cookbook
+ Then the unused template variables warning 034 should not be displayed
+ And no error should have occurred
diff --git a/features/047_check_for_attribute_assignment_without_precedence.feature b/features/047_check_for_attribute_assignment_without_precedence.feature
new file mode 100644
index 0000000..18040f5
--- /dev/null
+++ b/features/047_check_for_attribute_assignment_without_precedence.feature
@@ -0,0 +1,47 @@
+Feature: Check for attribute assignment without specified precedence
+
+ In order to ensure that my cookbooks continue to work with Chef 11+
+ As a developer
+ I want to identify node attribute assignment that does not specify the attribute precedence
+
+ Scenario Outline: Attribute assignment
+ Given a cookbook attributes file with assignment <assignment>
+ When I check the cookbook
+ Then the attribute assignment without precedence warning 047 <show_warning> be displayed against the attributes file
+ Examples:
+ | assignment | show_warning |
+ | node[:foo] = 'bar' | should |
+ | node['foo'] = 'bar' | should |
+ | node['foo'] = a_var | should |
+ | a_var = node['foo'] | should not |
+ | node['foo']['bar'] = 'baz' | should |
+ | node['foo']['bar']['baz'] = 'fizz' | should |
+ | node.foo = 'bar' | should |
+ | node.normal.foo = 'bar' | should not |
+ | node.normal['foo'] = 'bar' | should not |
+ | node.default['foo'] = 'bar' | should not |
+ | node.force_default['foo'] = 'bar' | should not |
+ | node.set['foo'] = 'bar' | should not |
+ | node.override['foo'] = 'bar' | should not |
+ | node.force_override['foo'] = 'bar' | should not |
+ | node.automatic_attrs['foo'] = 'bar' | should not |
+ | node['foos'] << 'bar' | should |
+ | node['foo']['bars'] << 'baz' | should |
+ | foo = node['bar'] | should not |
+ | baz << node['foo']['bars'] | should not |
+ | node.run_state['foo'] = bar | should not |
+ | foo[:bar] << node['baz'] | should not |
+ | node.default['foo'] << bar | should not |
+ | node.default_unless['foo'] = 'bar' | should not |
+ | node.normal_unless['foo'] = 'bar' | should not |
+ | node.set_unless['foo'] = 'bar' | should not |
+ | node.override_unless['foo'] = 'bar' | should not |
+
+ Scenario Outline: Attribute assignment in recipe
+ Given a cookbook recipe file with assignment <assignment>
+ When I check the cookbook
+ Then the attribute assignment without precedence warning 047 <show_warning> be displayed
+ Examples:
+ | assignment | show_warning |
+ | node[:foo] = 'bar' | should |
+ | node.normal['foo'] = 'bar' | should not |
diff --git a/features/048_check_for_shellout.feature b/features/048_check_for_shellout.feature
new file mode 100644
index 0000000..8b4e3d5
--- /dev/null
+++ b/features/048_check_for_shellout.feature
@@ -0,0 +1,34 @@
+Feature: Check for spawning without Mixlib::ShellOut
+
+ In order to work more easily with spawned processes
+ As a developer
+ I want to use the Mixlib::ShellOut library rather than basic ruby constructs
+
+ Scenario Outline: Spawning a sub-process
+ Given a cookbook recipe that spawns a sub-process with <command>
+ When I check the cookbook
+ Then the prefer mixlib shellout warning 048 <show_warning> be displayed
+ Examples:
+ | command | show_warning |
+ | `ls` | should |
+ | `#{cmd}` | should |
+ | %x{ls} | should |
+ | %x[ls] | should |
+ | %x{#{cmd} some_dir} | should |
+ | %x{#{cmd} some_dir} | should |
+ | system "ls" | should |
+ | system("ls") | should |
+ | system cmd | should |
+ | system(cmd) | should |
+ | system("#{cmd} some_dir") | should |
+ | Mixlib::ShellOut.new('ls').run_command | should not |
+
+ Scenario: Execute resource
+ Given a cookbook recipe that executes 'ls' with an execute resource
+ When I check the cookbook
+ Then the prefer mixlib shellout warning 048 should not be displayed
+
+ Scenario: Group resource
+ Given a cookbook recipe that contains a group resource that uses the 'system' attribute
+ When I check the cookbook
+ Then the prefer mixlib shellout warning 048 should not be displayed against the group resource
diff --git a/features/049_check_for_role_name_mismatch_with_file_name.feature b/features/049_check_for_role_name_mismatch_with_file_name.feature
new file mode 100644
index 0000000..4e007f1
--- /dev/null
+++ b/features/049_check_for_role_name_mismatch_with_file_name.feature
@@ -0,0 +1,31 @@
+Feature: Identify roles names that do not match filenames
+
+ In order to avoid confusion
+ As a developer
+ I want to identify roles whose names differ from their filename
+
+ Scenario Outline: Illustrates role paths
+ Given a directory that contains a role file <filename> in <format> that defines role name <role_name>
+ When I check the role directory as a <path_type> path
+ Then the role name does not match file name warning 049 <show_warning> be shown
+ Examples:
+ | filename | format | role_name | path_type | show_warning |
+ | webserver.rb | ruby | webserver | role | should not |
+ | webserver.rb | ruby | apache | role | should |
+ | webserver.json | json | webserver | role | should not |
+ | webserver.json | json | apache | role | should not |
+ | webserver.rb | ruby | webserver | cookbook | should not |
+ | webserver.rb | ruby | apache | cookbook | should not |
+ | webserver.rb | ruby | webserver | default | should not |
+ | webserver.rb | ruby | apache | default | should not |
+
+ Scenario: Role name references variable
+ Given a directory that contains a ruby role with an expression as its name
+ When I check the role directory
+ Then the role name does not match file name warning 049 should not be shown
+
+ Scenario: Multiple role names declared
+ Given a directory that contains a ruby role that declares the role name more than once
+ And the last role name declared does not match the containing filename
+ When I check the role directory
+ Then the role name does not match file name warning 049 should be shown against the second name
diff --git a/features/050_check_for_invalid_name.feature b/features/050_check_for_invalid_name.feature
new file mode 100644
index 0000000..61e03a1
--- /dev/null
+++ b/features/050_check_for_invalid_name.feature
@@ -0,0 +1,33 @@
+Feature: Check for invalid names
+
+ In order to identify issues more quickly
+ As a developer
+ I want to identify roles or environments whose names are invalid
+
+ Scenario Outline: Role name validity
+ Given a ruby role file that defines a role with name <role_name>
+ When I check the role directory
+ Then the invalid role name warning 050 <show_warning> be shown
+ Examples:
+ | role_name | show_warning |
+ | webserver | should not |
+ | web_server | should not |
+ | web-server | should not |
+ | webserver123 | should not |
+ | Webserver | should not |
+ | web server | should |
+ | webserver% | should |
+
+ Scenario Outline: Environment name validity
+ Given a ruby environment file that defines an environment with name <environment_name>
+ When I check the environment directory
+ Then the invalid environment name warning 050 <show_warning> be shown
+ Examples:
+ | environment_name | show_warning |
+ | production | should not |
+ | pre_production | should not |
+ | production-eu | should not |
+ | production2 | should not |
+ | Production | should not |
+ | EU West | should |
+ | production (eu-west) | should |
diff --git a/features/051_check_for_template_partial_loops.feature b/features/051_check_for_template_partial_loops.feature
new file mode 100644
index 0000000..73d7a9a
--- /dev/null
+++ b/features/051_check_for_template_partial_loops.feature
@@ -0,0 +1,43 @@
+Feature: Check for template partial includes cycle
+
+ In order to avoid failures at converge time
+ As a developer
+ I want to identify when a template uses partials that would loop
+
+ Scenario: Template without includes
+ Given a cookbook recipe that refers to a template
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should not be displayed against the templates
+
+ Scenario: Template includes do not cycle
+ Given a template that includes a partial
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should not be displayed against the templates
+
+ Scenario: Template includes contain cycle
+ Given a template that includes a partial that includes the original template again
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should be displayed against the templates
+ And no error should have occurred
+
+ Scenario: Relative partial
+ Given a template that includes a partial with a relative subdirectory path
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should not be displayed against the templates
+ And no error should have occurred
+
+ Scenario: Missing partial
+ Given a template that includes a missing partial with a relative subdirectory path
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should not be displayed against the templates
+ And no error should have occurred
+
+ Scenario Outline: Template directory contains binary files
+ Given a template directory that contains a binary file <file> that is not valid UTF-8
+ When I check the cookbook
+ Then the template partials loop indefinitely warning 051 should not be displayed against the templates
+ And no error should have occurred
+ Examples:
+ | file |
+ | .DS_Store |
+ | foo.erb.swp |
diff --git a/features/command_line_help.feature b/features/command_line_help.feature
index 92e56c6..f9c241a 100644
--- a/features/command_line_help.feature
+++ b/features/command_line_help.feature
@@ -14,6 +14,16 @@ Feature: Command line help
When I run it on the command line specifying a cookbook that does not exist
Then the simple usage text should be displayed along with a non-zero exit code
+ Scenario: Non-existent role directory
+ Given I have installed the lint tool
+ When I run it on the command line specifying a role directory that does not exist
+ Then the simple usage text should be displayed along with a non-zero exit code
+
+ Scenario: Non-existent environment directory
+ Given I have installed the lint tool
+ When I run it on the command line specifying an environment directory that does not exist
+ Then the simple usage text should be displayed along with a non-zero exit code
+
Scenario: Command help
Given I have installed the lint tool
When I run it on the command line with the help option
@@ -41,3 +51,8 @@ Feature: Command line help
Then the simple usage text should be displayed along with a non-zero exit code
Then the style warning 002 should not be displayed
And the current version should not be displayed
+
+ Scenario: Refer to the man page
+ Given access to the man page documentation
+ When I compare the man page options against the usage options
+ Then all options should be documented in the man page
diff --git a/features/ignore_via_line_comments.feature b/features/ignore_via_line_comments.feature
index f1f7c31..524ebb4 100644
--- a/features/ignore_via_line_comments.feature
+++ b/features/ignore_via_line_comments.feature
@@ -49,3 +49,21 @@ Feature: Ignoring rules on per line basis
| # ~FC002,~FC007 | FC002 |
| # ~FC002,~FC039 | |
| # ~FC002 | FC039 |
+
+ Scenario Outline: Ignoring role rules
+ Given a ruby role that triggers FC049 with comment <comment>
+ When I check the role directory
+ Then the role name does not match file name warning 049 should <shown>
+ Examples:
+ | comment | shown |
+ | | be shown |
+ | #~FC049 | not be shown |
+
+ Scenario Outline: Ignoring environment rules
+ Given a ruby environment that triggers FC050 with comment <comment>
+ When I check the environment directory
+ Then the invalid environment name warning 050 should <shown>
+ Examples:
+ | comment | shown |
+ | | be shown |
+ | #~FC050 | not be shown |
diff --git a/features/individual_file.feature b/features/individual_file.feature
index 7e9ad3b..465f994 100644
--- a/features/individual_file.feature
+++ b/features/individual_file.feature
@@ -4,9 +4,25 @@ Feature: Individual file
As a developer
I want to lint individual files in a cookbook
- Scenario: Linting an individual file shows warnings only from that file
+ Scenario: Linting an individual recipe shows warnings only from that file
Given a cookbook with a single recipe that reads node attributes via symbols,strings
And a cookbook that declares normal attributes via symbols
When I check the recipe
Then the attribute consistency warning 019 should be displayed for the recipe
And the attribute consistency warning 019 should not be displayed for the attributes
+
+ Scenario: Linting an individual role
+ Given a roles directory
+ And it contains a role file webserver.rb that defines the role name "apache"
+ And it contains a role file database.rb that defines the role name "postgresql"
+ When I check the webserver role only
+ Then the role name does not match file name warning 049 should be shown against the webserver role
+ And the role name does not match file name warning 049 should not be shown against the database role
+
+ Scenario: Linting an individual environment
+ Given an environments directory
+ And it contains an environment file production_eu.rb that defines the environment name "production (eu-west-1)"
+ And it contains an environment file production_us.rb that defines the environment name "production (us-east-1)"
+ When I check the eu environment file only
+ Then the invalid environment name warning 050 should be shown against the eu environment
+ And the invalid environment name warning 050 should not be shown against the us environment
diff --git a/features/multiple_paths.feature b/features/multiple_paths.feature
index 334fabd..c1cae26 100644
--- a/features/multiple_paths.feature
+++ b/features/multiple_paths.feature
@@ -4,8 +4,32 @@ Feature: Multiple paths
As a developer
I want to lint multiple paths at once
- Scenario: Linting multiple individual cookbooks
+ Scenario Outline: Linting multiple individual cookbooks
Given a cookbook with a single recipe that reads node attributes via symbols,strings
And another cookbook with a single recipe that reads node attributes via strings
- When I check both cookbooks
+ When I check both cookbooks with the command-line <command_line>
Then the attribute consistency warning 019 should be shown
+ Examples:
+ | command_line |
+ | example another_example |
+ | -B example -B another_example |
+ | --cookbook-path example --cookbook-path another_example |
+ | -B example another_example |
+ | --cookbook-path example another_example |
+ | -B example --cookbook-path another_example |
+
+ Scenario: Linting multiple role directories
+ Given two roles directories
+ And each role directory has a role with a name that does not match the containing file name
+ When I check both roles directories
+ Then the role name does not match file name warning 049 should be shown against the files in both directories
+
+ Scenario: Linting a cookbook, role and environment together
+ Given a cookbook with a single recipe that reads node attributes via symbols,strings
+ And another cookbook with a single recipe that reads node attributes via strings
+ And a directory that contains a role file webserver.rb in ruby that defines role name apache
+ And a directory that contains an environment file production.rb in ruby that defines environment name production (us-east)
+ When I check the cookbooks, role and environment together
+ Then the attribute consistency warning 019 should be shown
+ And the role name does not match file name warning 049 should be shown
+ And the invalid environment name warning 050 should be shown
diff --git a/features/step_definitions/cookbook_steps.rb b/features/step_definitions/cookbook_steps.rb
index 211ee63..247a0e7 100644
--- a/features/step_definitions/cookbook_steps.rb
+++ b/features/step_definitions/cookbook_steps.rb
@@ -34,8 +34,20 @@ Given 'a cookbook attributes file with a do block that takes arguments' do
}
end
-Given /^a cookbook attributes file with assignment (.*)$/ do |assignment|
- write_attributes assignment
+Given /^a cookbook (attributes|recipe) file with assignment (.*)$/ do |type, assignment|
+ if type == 'attributes'
+ write_attributes assignment
+ else
+ write_recipe assignment
+ end
+end
+
+Given "a cookbook recipe that contains a group resource that uses the 'system' attribute" do
+ write_recipe %q{
+ group "senge" do
+ system true
+ end
+ }
end
Given /^a cookbook recipe that declares (too many )?execute resources varying only in the command in branching conditionals$/ do |too_many|
@@ -69,6 +81,18 @@ Given /^a cookbook recipe that declares a ([^ ]+) resource with the ([^ ]+) attr
}
end
+Given /^a cookbook recipe that executes '([^']+)' with an execute resource$/ do |command|
+ write_recipe %Q{
+ execute "#{command}" do
+ action :run
+ end
+ }
+end
+
+Given /^a cookbook recipe that spawns a sub-process with (.*)$/ do |command|
+ write_recipe command
+end
+
Given 'a cookbook recipe with a deploy resource that contains a template resource' do
write_recipe %q{
deploy '/foo/bar' do
@@ -429,8 +453,9 @@ Given /^a cookbook recipe that includes a recipe name from an( embedded)? expres
}
end
-Given /^a cookbook recipe that includes a(n un| )?declared recipe dependency( unscoped)?$/ do |undeclared,unscoped|
- recipe_with_dependency(:is_declared => undeclared.strip.empty?, :is_scoped => unscoped.nil?)
+Given /^a cookbook recipe that includes a(n un| )?declared recipe dependency(?: {0,1})(unscoped)?( with parentheses)?$/ do |undeclared,unscoped, parens|
+ recipe_with_dependency(:is_declared => undeclared.strip.empty?,
+ :is_scoped => unscoped.nil?, :parentheses => parens)
end
Given 'a cookbook recipe that includes both declared and undeclared recipe dependencies' do
@@ -465,6 +490,17 @@ Given /a cookbook recipe that (install|upgrade)s (a gem|multiple gems)(.*)$/ do
end
end
+Given 'a cookbook recipe that refers to a hidden template' do
+ write_recipe %q{
+ template '/etc/.s3cfg' do
+ source '.s3cfg.erb'
+ end
+ }
+ write_file "cookbooks/example/templates/default/.s3cfg.erb", %q{
+ config=true
+ }
+end
+
Given /^a cookbook recipe that refers to a (missing |local )?template( in a subdirectory)?$/ do |missing_or_local, sub_dir|
sub_dir = sub_dir ? 'sub_dir/' : ''
write_recipe %Q{
@@ -755,6 +791,16 @@ Given /^a cookbook that passes variables (.*) to a template with extension (.*)$
}
end
+Given /^a cookbook that passes variables (.*) to an inferred template$/ do |vars|
+ write_recipe %Q{
+ template "/tmp/config.conf" do
+ variables(
+ :#{vars.split(',').map{|v| "#{v} => node[:#{v}]"}.join(",\n:")}
+ )
+ end
+ }
+end
+
Given /^a cookbook that contains a (short|long) ruby block$/ do |length|
recipe_with_ruby_block(length.to_sym)
end
@@ -805,10 +851,46 @@ Given /^a cookbook that contains a LWRP that (?:does not trigger notifications|d
})
end
+Given /^a cookbook that contains a LWRP that uses converge_by - (brace|do) block (with|without) parentheses$/ do |block_type, with_parens|
+ write_resource("site", %q{
+ actions :create
+ attribute :name, :kind_of => String, :name_attribute => true
+ })
+ if block_type == 'brace'
+ write_provider("site", %q{
+ action :create do
+ converge_by("Creating site #{new_resource.name}"){ Site.new(new_resource.name).create }
+ end
+ })
+ else
+ if with_parens == 'with'
+ write_provider("site", %q{
+ action :create do
+ converge_by("Creating site #{new_resource.name}") do
+ Site.new(new_resource.name).create
+ end
+ end
+ })
+ else
+ write_provider("site", %q{
+ action :create do
+ converge_by "Creating site #{new_resource.name}" do
+ Site.new(new_resource.name).create
+ end
+ end
+ })
+ end
+ end
+end
+
Given /^a cookbook that contains a LWRP that uses the deprecated notification syntax(.*)$/ do |qualifier|
cookbook_with_lwrp({:notifies => qualifier.include?('class variable') ? :class_variable : :deprecated_syntax})
end
+Given 'a cookbook that contains a LWRP that uses use_inline_resources' do
+ cookbook_with_lwrp({:use_inline_resources => true})
+end
+
Given 'a cookbook that contains a LWRP with multiple notifications' do
write_resource("site", %q{
actions :create, :delete
@@ -1176,6 +1258,22 @@ Given /^a cookbook with metadata that (specifies|does not specify) the cookbook
}
end
+Given /^a directory that contains a role file ([^ ]+) in (json|ruby) that defines role name (.*)$/ do |file_name, format, role_name|
+ role(:role_name => %Q{"#{role_name}"}, :file_name => file_name, :format => format.to_sym)
+end
+
+Given 'a directory that contains a ruby role that declares the role name more than once' do
+ role(:role_name => ['"webserver"', '"apache"'], :file_name => 'webserver.rb')
+end
+
+Given 'a directory that contains a ruby role with an expression as its name' do
+ role(:role_name => '"#{foo}#{bar}"', :file_name => 'webserver.rb')
+end
+
+Given /^a directory that contains an environment file (.*) in ruby that defines environment name (.*)$/ do |file_name, env_name|
+ environment(:environment_name => %Q{"#{env_name}"}, :file_name => 'production.rb')
+end
+
Given /^a ([a-z_]+) resource declared with the mode ([^\s]+)(?: with comment (.*)?)?$/ do |resource,mode,comment|
recipe_resource_with_mode(resource, mode, comment)
end
@@ -1192,6 +1290,17 @@ Given /^a file with multiple errors on one line(?: with comment (.*))?$/ do |com
write_file "cookbooks/example/recipes/default.rb", %Q{node['run_state']['nginx_force_recompile'] = "\#{foo}"#{comment}}
end
+Given(/^a LWRP with an action :create that notifies with (converge_by|updated_by_last_action) and another :delete that does not notify$/) do |notify_type|
+ cookbook_with_lwrp_actions([
+ {:name => :create, :notify_type => notify_type.to_sym},
+ {:name => :delete, :notify_type => :none}
+ ])
+end
+
+Given /^(?:a roles|an environments) directory$/ do
+
+end
+
Given /^a Rakefile that defines (no lint task|a lint task with no block|a lint task with an empty block|a lint task with a block setting options to)(.*)?$/ do |task,options|
rakefile(
case task
@@ -1314,6 +1423,20 @@ Given 'a recipe that declares multiple resources of the same type of which one h
}
end
+Given 'a resource declared with a guard within a loop with multiple block arguments' do
+ write_recipe %q{
+ {
+ 'foo' => 'bar',
+ 'baz' => 'bing',
+ }.each do |foo, bar|
+ package bar do
+ not_if { node['foo'] == foo }
+ action :install
+ end
+ end
+ }
+end
+
Given /^a rule that (declares|does not declare) a version constraint(?: of ([^ ]+)? to ([^ ]+)?)?$/ do |constraint, from, to|
if from || to
rule_with_version_constraint(from, to)
@@ -1326,6 +1449,43 @@ Given /^a rule that (declares|does not declare) a version constraint(?: of ([^ ]
end
end
+Given /^a template that includes a partial( that includes the original template again)?$/ do |loops|
+ write_recipe %q{
+ template "/tmp/a" do
+ source "a.erb"
+ variables({
+ :config_var => "foo"
+ })
+ end
+ }
+ write_file 'cookbooks/example/templates/default/a.erb', '<%= render "b.erb" %>'
+ content = if loops
+ '<%= render "a.erb" %>'
+ else
+ '<%= @config_var %>'
+ end
+ write_file 'cookbooks/example/templates/default/b.erb', content
+end
+
+Given /^a template that includes a (missing )?partial with a relative subdirectory path$/ do |missing|
+ write_recipe %q{
+ template "/tmp/a" do
+ source "a.erb"
+ variables({
+ :config_var => "foo"
+ })
+ end
+ }
+ write_file 'cookbooks/example/templates/default/a.erb', '<%= render "partials/b.erb" %>'
+ unless missing
+ write_file 'cookbooks/example/templates/default/partials/b.erb', 'Partial content'
+ end
+end
+
+Given 'access to the man page documentation' do
+
+end
+
Given /^another cookbook that has (an older )?chef-solo-search installed$/ do |older|
if older.nil?
write_library 'search', %q{
@@ -1374,6 +1534,16 @@ Given 'the gems have been vendored' do
vendor_gems
end
+Given 'the last role name declared does not match the containing filename' do
+
+end
+
+Given /^the inferred template contains the expression (.*)$/ do |expr|
+ write_file "cookbooks/example/templates/default/config.conf.erb", %Q{
+ <%= #{expr} %>
+ }
+end
+
Given /^the template (.+)?contains the expression (.*)$/ do |ext,expr|
file = if ext
"templates/default/config#{ext.strip}"
@@ -1385,6 +1555,40 @@ Given /^the template (.+)?contains the expression (.*)$/ do |ext,expr|
}
end
+Given /^the template (.+)?contains partial includes of type (.*) with the expression (.*)$/ do |ext,type,expr|
+ file = if ext
+ "config#{ext.strip}"
+ else
+ 'config.conf.erb'
+ end
+ if type == 'nested' and expr.split(',').length > 1
+ expressions = expr.split(',')
+ includes = (1..expressions.length).map{|i| "included_template_#{i}.erb"}
+ (Array(file) + includes).zip(includes).map do |parent, child|
+ content = if child
+ "<%= render '#{child}' %>"
+ else
+ expressions.map{|e| "<%= #{e} %>"}.join("\n")
+ end
+ [parent, content]
+ end.each do |template_name, content|
+ write_file "cookbooks/example/templates/default/#{template_name}", content
+ end
+ else
+ if type == 'no parentheses'
+ include_string = "<%= render 'included_template.erb' %>"
+ else
+ include_string = "<%= render('included_template.erb') %>"
+ end
+ write_file "cookbooks/example/templates/default/#{file}", %Q{
+ #{include_string}
+ }
+ write_file "cookbooks/example/templates/default/included_template.erb", %Q{
+ <%= #{expr} %>
+ }
+ end
+end
+
Given 'unit tests under a top-level test directory' do
minitest_spec_attributes
end
@@ -1427,6 +1631,48 @@ Given /^a recipe that uses include_recipe$/ do
}
end
+Given /^a ruby environment file that defines an environment with name (.*)$/ do |env_name|
+ environment(:environment_name => %Q{"#{env_name}"}, :file_name => 'production.rb')
+end
+
+Given /^a ruby environment that triggers FC050 with comment (.*)$/ do |comment|
+ write_file 'environments/production.rb', %Q{
+ name "Production (eu-west-1)" #{comment}
+ run_list "recipe[apache2]"
+ }.strip
+end
+
+Given /^a ruby role file that defines a role with name (.*)$/ do |role_name|
+ role(:role_name => [%Q{"#{role_name}"}], :file_name => 'webserver.rb')
+end
+
+Given /^a ruby role that triggers FC049 with comment (.*)$/ do |comment|
+ write_file 'roles/webserver.rb', %Q{
+ name "apache" #{comment}
+ run_list "recipe[apache2]"
+ }.strip
+end
+
+Given /^a template directory that contains a binary file (.*) that is not valid UTF-8$/ do |filename|
+ template_dir = 'cookbooks/example/templates/default'
+ write_recipe ''
+ write_file "#{template_dir}/innocent_template.erb", '<%= hello %>'
+ File.open("#{current_dir}/#{template_dir}/#{filename}", 'wb'){|f| f.putc(0x93)}
+end
+
+Given 'each role directory has a role with a name that does not match the containing file name' do
+ role(:dir => 'roles1', :role_name => '"apache"', :file_name => 'webserver.rb')
+ role(:dir => 'roles2', :role_name => '"postgresql"', :file_name => 'database.rb')
+end
+
+Given /^it contains an environment file (.*\.rb) that defines the environment name (.*)$/ do |file_name, env_name|
+ environment(:environment_name => env_name, :file_name => file_name)
+end
+
+Given /^it contains a role file ([a-z]+\.rb) that defines the role name (.*)$/ do |file_name, role_name|
+ role(:role_name => role_name, :file_name => file_name)
+end
+
Given /^the cookbook metadata declares support for (.*)$/ do |supported_platforms|
write_metadata(supported_platforms.split(',').map do |platform|
"supports '#{platform}'"
@@ -1452,6 +1698,10 @@ Given 'two of the recipes read node attributes via symbols' do
end
end
+Given 'two roles directories' do
+
+end
+
When /^I check the cookbook specifying ([^ ]+) as the Chef version$/ do |version|
options = ['-c', version, 'cookbooks/example']
in_current_dir do
@@ -1471,18 +1721,70 @@ Given /^the cookbook directory has a \.foodcritic file specifying tags (.*)$/ do
run_lint(["cookbooks/example"])
end
-When 'I check both cookbooks' do
+When 'I check both cookbooks specified as arguments' do
run_lint(["cookbooks/another_example", "cookbooks/example"])
end
+When /^I check both cookbooks with the command-line (.*)$/ do |command_line|
+ cmds = command_line.split(' ').map do |c|
+ if c.end_with?('example')
+ "cookbooks/#{c}"
+ else
+ c
+ end
+ end
+ run_lint(cmds)
+end
+
+When 'I check the cookbooks, role and environment together' do
+ run_lint([
+ '-B', 'cookbooks/another_example', '-B', 'cookbooks/example',
+ '-E', 'environments',
+ '-R', 'roles'
+ ])
+end
+
When 'I check the cookbook without specifying a Chef version' do
run_lint(['-I', 'rules/test.rb', 'cookbooks/example'])
end
+When 'I check the environment directory' do
+ run_lint ['-E', 'environments']
+end
+
+When 'I check both roles directories' do
+ run_lint ['-R', 'roles1', '-R', 'roles2']
+end
+
+When 'I check the eu environment file only' do
+ run_lint ['-E', 'environments/production_eu.rb']
+end
+
When 'I check the recipe' do
run_lint(["cookbooks/example/recipes/default.rb"])
end
+When 'I compare the man page options against the usage options' do
+
+end
+
+When 'I check the role directory' do
+ run_lint ['-R', 'roles']
+end
+
+When /^I check the role directory as a (default|cookbook|role) path$/ do |path_type|
+ options = case path_type
+ when 'default' then ['roles']
+ when 'cookbook' then ['-B', 'roles']
+ when 'role' then ['-R', 'roles']
+ end
+ run_lint(options)
+end
+
+When 'I check the webserver role only' do
+ run_lint ['-R', 'roles/webserver.rb']
+end
+
When 'I list the available build tasks' do
list_available_build_tasks
end
@@ -1518,6 +1820,14 @@ When 'I run it on the command line specifying a cookbook that does not exist' do
run_lint(['no-such-cookbook'])
end
+When /^I run it on the command line specifying a( role|n environment) directory that does not exist$/ do |type|
+ if type.include?('role')
+ run_lint(['-R', 'no-such-role-dir'])
+ else
+ run_lint(['-E', 'no-such-environment-dir'])
+ end
+end
+
When 'I run it on the command line with no arguments' do
run_lint([])
end
@@ -1541,6 +1851,10 @@ Then 'a warning for the custom rule should be displayed' do
expect_output('BAR001: Use symbols in preference to strings to access node attributes: cookbooks/example/recipes/default.rb:1')
end
+Then 'all options should be documented in the man page' do
+ man_page_options.should == usage_options_for_diff
+end
+
Then /^an? '([^']+)' error should be displayed$/ do |expected_error|
last_error.should include expected_error
end
@@ -1559,6 +1873,40 @@ Then /^the bare attribute keys warning 044 should not be displayed against the (
expect_warning 'FC044', {:expect_warning => false, :line => 2, :file_type => :attributes}
end
+Then /^the LWRP does not notify when updated warning 017 should( not)? be shown against the :([^ ]+) action$/ do |not_shown, action|
+ line = action == 'create' ? 1 : 8
+ expect_warning('FC017', :file_type => :provider, :expect_warning => ! not_shown, :line => line)
+end
+
+Then /^the invalid (role|environment) name warning 050 should( not)? be shown$/ do |type, not_shown|
+ file = type == 'role' ? 'roles/webserver.rb' : 'environments/production.rb'
+ expect_warning 'FC050', {:expect_warning => ! not_shown, :file => file}
+end
+
+Then /^the invalid environment name warning 050 should( not)? be shown against the (eu|us) environment$/ do |not_shown, env|
+ expect_warning 'FC050', {:expect_warning => ! not_shown,
+ :file => "environments/production_#{env}.rb", :line => 1}
+end
+
+Then 'the prefer mixlib shellout warning 048 should not be displayed against the group resource' do
+ expect_warning 'FC048', {:expect_warning => false, :line => 2}
+end
+
+Then /^the role name does not match file name warning 049 should( not)? be shown( against the second name)?$/ do |not_shown, second|
+ expect_warning 'FC049', {:expect_warning => ! not_shown,
+ :file => 'roles/webserver.rb', :line => second ? 2 : 1}
+end
+
+Then 'the role name does not match file name warning 049 should be shown against the files in both directories' do
+ expect_warning 'FC049', {:file => "roles1/webserver.rb", :line => 1}
+ expect_warning 'FC049', {:file => "roles2/database.rb", :line => 1}
+end
+
+Then /^the role name does not match file name warning 049 should( not)? be shown against the (webserver|database) role$/ do |not_shown, role|
+ expect_warning 'FC049', {:expect_warning => ! not_shown,
+ :file => "roles/#{role}.rb", :line => 1}
+end
+
Then 'the long ruby block warning 014 should be displayed against the long block only' do
expect_warning 'FC014', {:expect_warning => false, :line => 1}
expect_warning 'FC014', {:expect_warning => true, :line => 11}
@@ -1675,6 +2023,10 @@ Then /^the debugger breakpoint warning 030 should be (not )?shown against the (.
expect_warning('FC030', :line => nil, :expect_warning => should_not.nil?, :file => filename)
end
+Then 'the dodgy resource condition warning 022 should not be shown' do
+ expect_warning('FC022', {:line => nil, :expect_warning => false})
+end
+
Then /^the warning (\d+) should be (valid|invalid)$/ do |code, valid|
code = "FC#{code}"
valid == 'valid' ? expect_no_warning(code) : expect_warning(code)
@@ -1730,17 +2082,24 @@ Then /^the simple usage text should be displayed along with a (non-)?zero exit c
usage_displayed(non_zero.nil?)
end
+Then /^the template partials loop indefinitely warning 051 should (not )?be displayed against the templates$/ do |not_shown|
+ expect_warning('FC051', :file => 'templates/default/a.erb', :line => 1,
+ :expect_warning => ! not_shown)
+ expect_warning('FC051', :file => 'templates/default/b.erb', :line => 1,
+ :expect_warning => ! not_shown)
+end
+
Then 'the undeclared dependency warning 007 should be displayed only for the undeclared dependencies' do
expect_warning("FC007", :file => 'recipes/default.rb', :line => 1, :expect_warning => false)
expect_warning("FC007", :file => 'recipes/default.rb', :line => 2, :expect_warning => false)
expect_warning("FC007", :file => 'recipes/default.rb', :line => 6, :expect_warning => true)
end
-Then /^the unused template variables warning 034 should (not )?be displayed against the template(.*)?$/ do |not_shown, ext|
- file = if ext
- "templates/default/config#{ext.strip}"
- else
+Then /^the unused template variables warning 034 should (not )?be displayed against the (?:inferred )?template(.*)?$/ do |not_shown, ext|
+ file = if ext.empty?
'templates/default/config.conf.erb'
+ else
+ "templates/default/config#{ext.strip}"
end
expect_warning('FC034', :file => file, :line => 1,
:expect_warning => ! not_shown)
diff --git a/features/support/command_helpers.rb b/features/support/command_helpers.rb
index a1bc11e..34079e0 100644
--- a/features/support/command_helpers.rb
+++ b/features/support/command_helpers.rb
@@ -44,11 +44,16 @@ module FoodCritic
'FC039' => 'Node method cannot be accessed with key',
'FC040' => 'Execute resource used to run git commands',
'FC041' => 'Execute resource used to run curl or wget commands',
- 'FC042' => 'Prefer include_recipe to require_recipe',
+ 'FC042' => 'Prefer include_recipe to require_recipe',
'FC043' => 'Prefer new notification syntax',
'FC044' => 'Avoid bare attribute keys',
'FC045' => 'Consider setting cookbook name in metadata',
'FC046' => 'Attribute assignment uses assign unless nil',
+ 'FC047' => 'Attribute assignment does not specify precedence',
+ 'FC048' => 'Prefer Mixlib::ShellOut',
+ 'FC049' => 'Role name does not match containing file name',
+ 'FC050' => 'Name includes invalid characters',
+ 'FC051' => 'Template partials loop indefinitely',
'FCTEST001' => 'Test Rule'
}
@@ -97,10 +102,14 @@ module FoodCritic
:resource => 'resources/site.rb', :libraries => 'libraries/lib.rb'}[options[:file_type]]
end
options = {:line => 1, :expect_warning => true, :file => 'recipes/default.rb'}.merge!(options)
+ unless options[:file].include?('roles') ||
+ options[:file].include?('environments')
+ options[:file] = "cookbooks/example/#{options[:file]}"
+ end
if options[:warning_only]
warning = "#{code}: #{WARNINGS[code]}"
else
- warning = "#{code}: #{WARNINGS[code]}: cookbooks/example/#{options[:file]}:#{options[:line]}#{"\n" if ! options[:line].nil?}"
+ warning = "#{code}: #{WARNINGS[code]}: #{options[:file]}:#{options[:line]}#{"\n" if ! options[:line].nil?}"
end
options[:expect_warning] ? expect_output(warning) : expect_no_output(warning)
end
@@ -122,19 +131,29 @@ module FoodCritic
expect_output(Regexp.new(expected_switch))
end
+ def man_page_options
+ man_path = Pathname.new(__FILE__) + '../../../man/foodcritic.1.ronn'
+ option_lines = File.read(man_path).split('## ').find do |s|
+ s.start_with?('OPTIONS')
+ end.split("\n").select{|o| o.start_with?(' *')}
+ option_lines.map do |o|
+ o.sub('`[`no-`]`', '').split('`').select{|f| f.include?('-')}
+ end.map do |option|
+ {:short => option.first.sub(/^-/, ''),
+ :long => option.last.sub(/^--/, '')}
+ end.sort_by{|o| o[:short]}
+ end
+
# Assert that the usage message is displayed.
#
# @param [Boolean] is_exit_zero The exit code to check for.
def usage_displayed(is_exit_zero)
expect_output 'foodcritic [cookbook_paths]'
- expect_usage_option('c', 'chef-version VERSION', 'Only check against rules valid for this version of Chef.')
- expect_usage_option('f', 'epic-fail TAGS',
- "Fail the build if any of the specified tags are matched ('any' -> fail on any match).")
- expect_usage_option('t', 'tags TAGS', 'Only check against rules with the specified tags.')
- expect_usage_option('C', '[no-]context', 'Show lines matched against rather than the default summary.')
- expect_usage_option('I', 'include PATH', 'Additional rule file path(s) to load.')
- expect_usage_option('S', 'search-grammar PATH', 'Specify grammar to use when validating search syntax.')
- expect_usage_option('V', 'version', 'Display the foodcritic version.')
+
+ usage_options.each do |option|
+ expect_usage_option(option[:short], option[:long], option[:description])
+ end
+
if is_exit_zero
assert_no_error_occurred
else
@@ -142,6 +161,48 @@ module FoodCritic
end
end
+ def usage_options
+ [
+ {:short => 'c', :long => 'chef-version VERSION',
+ :description => 'Only check against rules valid for this version of Chef.'},
+
+ {:short => 'f', :long => 'epic-fail TAGS',
+ :description => "Fail the build if any of the specified tags are matched ('any' -> fail on any match)."},
+
+ {:short => 't', :long => 'tags TAGS',
+ :description => 'Only check against rules with the specified tags.'},
+
+ {:short => 'B', :long => 'cookbook-path PATH',
+ :description => 'Cookbook path(s) to check.'},
+
+ {:short => 'C', :long => '[no-]context',
+ :description => 'Show lines matched against rather than the default summary.'},
+
+ {:short => 'E', :long => 'environment-path PATH',
+ :description => 'Environment path(s) to check.'},
+
+ {:short => 'I', :long => 'include PATH',
+ :description => 'Additional rule file path(s) to load.'},
+
+ {:short => 'R', :long => 'role-path PATH',
+ :description => 'Role path(s) to check.'},
+
+ {:short => 'S', :long => 'search-grammar PATH',
+ :description => 'Specify grammar to use when validating search syntax.'},
+
+ {:short => 'V', :long => 'version',
+ :description => 'Display the foodcritic version.'}
+
+ ]
+ end
+
+ def usage_options_for_diff
+ usage_options.map do |o|
+ {:short => o[:short],
+ :long => o[:long].split(' ').first.sub(/^\[no-\]/, '')}
+ end.sort_by{|o| o[:short]}
+ end
+
end
# Helpers used when features are executed in-process.
diff --git a/features/support/cookbook_helpers.rb b/features/support/cookbook_helpers.rb
index 86166ac..3d8c80c 100644
--- a/features/support/cookbook_helpers.rb
+++ b/features/support/cookbook_helpers.rb
@@ -13,7 +13,7 @@ module FoodCritic
# Create a Gemfile for a cookbook
def buildable_gemfile
write_file 'cookbooks/example/Gemfile', %q{
- source :rubygems
+ source 'https://rubygems.org/'
gem 'rake'
gem 'foodcritic', :path => '../../../..'
}
@@ -82,8 +82,10 @@ module FoodCritic
# @param [Hash] lwrp The options to use for the created LWRP
# @option lwrp [Symbol] :default_action One of :no_default_action, :ruby_default_action, :dsl_default_action
# @option lwrp [Symbol] :notifies One of :does_not_notify, :does_notify, :does_notify_without_parens, :deprecated_syntax, :class_variable
+ # @option lwrp [Symbol] :use_inline_resources Defaults to false
def cookbook_with_lwrp(lwrp)
- lwrp = {:default_action => false, :notifies => :does_not_notify}.merge!(lwrp)
+ lwrp = {:default_action => false, :notifies => :does_not_notify,
+ :use_inline_resources => false}.merge!(lwrp)
ruby_default_action = %q{
def initialize(*args)
super
@@ -101,6 +103,7 @@ module FoodCritic
:deprecated_syntax => 'new_resource.updated = true',
:class_variable => '@updated = true'}
write_provider("site", %Q{
+ #{'use_inline_resources' if lwrp[:use_inline_resources]}
action :create do
log "Here is where I would create a site"
#{notifications[lwrp[:notifies]]}
@@ -108,6 +111,14 @@ module FoodCritic
})
end
+ def cookbook_with_lwrp_actions(actions)
+ write_resource("site", %Q{
+ actions #{actions.map{|a| a[:name].inspect}.join(', ')}
+ attribute :name, :kind_of => String, :name_attribute => true
+ })
+ write_provider("site", actions.map{|a| provider_action(a)}.join("\n"))
+ end
+
# Create an cookbook with the maintainer specified in the metadata
#
# @param [String] name The maintainer name
@@ -136,6 +147,20 @@ module FoodCritic
}
end
+ # Create an environment file
+ #
+ # @param [Hash] options The options to use for the environment
+ # @option options [String] :dir The relative directory to write to
+ # @option options [String] :environment_name The name of the environment declared in the file
+ # @option options [String] :file_name The containing file relative to the environments directory
+ def environment(options={})
+ options = {:dir => 'environments'}.merge(options)
+ write_file "#{options[:dir]}/#{options[:file_name]}", %Q{
+ #{Array(options[:environment_name]).map{|r| "name #{r}"}.join("\n")}
+ cookbook "apache2"
+ }.strip
+ end
+
# Create a placeholder minitest spec that would be linted due to its path
# unless an exclusion is specified.
def minitest_spec_attributes
@@ -145,6 +170,30 @@ module FoodCritic
}
end
+ def provider_action(action)
+ case action[:notify_type]
+ when :none then %Q{
+ action #{action[:name].inspect} do
+ log "Would take action here"
+ end
+ }
+ when :updated_by_last_action then %Q{
+ action #{action[:name].inspect} do
+ log "Would take action here"
+ # Explicitly update
+ new_resource.updated_by_last_action(true)
+ end
+ }
+ when :converge_by then %Q{
+ action #{action[:name].inspect} do
+ converge_by "#{action[:name]} site" do
+ log "Would take action here"
+ end
+ end
+ }
+ end
+ end
+
# Create a Rakefile that uses the linter rake task
#
# @param [Symbol] task Type of task
@@ -273,11 +322,16 @@ module FoodCritic
# @param [Hash] dep The options to use for dependency
# @option dep [Boolean] :is_declared True if this dependency has been declared in the cookbook metadata
# @option dep [Boolean] :is_scoped True if the include_recipe references a specific recipe or the cookbook
+ # @option dep [Boolean] :parentheses True if the include_recipe is called with parentheses
def recipe_with_dependency(dep)
- dep = {:is_scoped => true, :is_declared => true}.merge!(dep)
- write_recipe %Q{
- include_recipe 'foo#{dep[:is_scoped] ? '::default' : ''}'
- }
+ dep = {:is_scoped => true, :is_declared => true,
+ :parentheses => false}.merge!(dep)
+ recipe = "foo#{dep[:is_scoped] ? '::default' : ''}"
+ write_recipe(if dep[:parentheses]
+ "include_recipe('#{recipe}')"
+ else
+ "include_recipe '#{recipe}'"
+ end)
write_metadata %Q{
version "1.9.0"
depends "#{dep[:is_declared] ? 'foo' : 'dogs'}"
@@ -377,6 +431,34 @@ module FoodCritic
}
end
+ # Create a role file
+ #
+ # @param [Hash] options The options to use for the role
+ # @option options [String] :role_name The name of the role declared in the role file
+ # @option options [String] :file_name The containing file relative to the roles directory
+ # @option options [Symbol] :format Either :ruby or :json. Default is :ruby
+ def role(options={})
+ options = {:format => :ruby, :dir => 'roles'}.merge(options)
+ content = if options[:format] == :json
+ %Q{
+ {
+ "chef_type": "role",
+ "json_class": "Chef::Role",
+ #{Array(options[:role_name]).map{|r| "name: #{r},"}.join("\n")}
+ "run_list": [
+ "recipe[apache2]",
+ ]
+ }
+ }
+ else
+ %Q{
+ #{Array(options[:role_name]).map{|r| "name #{r}"}.join("\n")}
+ run_list "recipe[apache2]"
+ }
+ end
+ write_file "#{options[:dir]}/#{options[:file_name]}", content.strip
+ end
+
# Create a rule with the specified Chef version constraints
#
# @param [String] from_version The from version
diff --git a/foodcritic.gemspec b/foodcritic.gemspec
deleted file mode 100644
index 521bf68..0000000
--- a/foodcritic.gemspec
+++ /dev/null
@@ -1,22 +0,0 @@
-lib = File.expand_path('../lib/', __FILE__)
-$:.unshift lib unless $:.include?(lib)
-require 'foodcritic/version'
-Gem::Specification.new do |s|
- s.name = 'foodcritic'
- s.version = FoodCritic::VERSION
- s.description = 'Lint tool for Opscode Chef cookbooks.'
- s.summary = "foodcritic-#{s.version}"
- s.authors = ['Andrew Crump']
- s.homepage = 'http://acrmp.github.com/foodcritic'
- s.license = 'MIT'
- s.executables << 'foodcritic'
- s.add_dependency('gherkin', '~> 2.11.7')
- s.add_dependency('nokogiri', '~> 1.5.4')
- s.add_dependency('treetop', '~> 1.4.10')
- s.add_dependency('yajl-ruby', '~> 1.1.0')
- s.add_dependency('erubis')
- s.files = Dir['chef_dsl_metadata/*.json'] + Dir['lib/**/*.rb']
- s.files += Dir['spec/**/*'] + Dir['features/**/*']
- s.files += Dir['*.md'] + Dir['LICENSE'] + Dir['man/*']
- s.required_ruby_version = '>= 1.9.2'
-end
diff --git a/lib/foodcritic/api.rb b/lib/foodcritic/api.rb
index 466bcc8..4ec7ce0 100644
--- a/lib/foodcritic/api.rb
+++ b/lib/foodcritic/api.rb
@@ -11,6 +11,8 @@ module FoodCritic
include FoodCritic::Chef
include FoodCritic::Notifications
+ class RecursedTooFarError < StandardError; end
+
# Find attribute access by type.
def attribute_access(ast, options = {})
options = {:type => :any, :ignore_calls => false}.merge!(options)
@@ -22,10 +24,10 @@ module FoodCritic
case options[:type]
when :any then
- vivified_attribute_access(ast, options[:cookbook_dir]) +
- standard_attribute_access(ast, options)
+ vivified_attribute_access(ast, options) +
+ standard_attribute_access(ast, options)
when :vivified then
- vivified_attribute_access(ast, options[:cookbook_dir])
+ vivified_attribute_access(ast, options)
else
standard_attribute_access(ast, options)
end
@@ -108,7 +110,22 @@ module FoodCritic
# depends cbk
# end
deps = deps.to_a + word_list_values(ast, "//command[ident/@value='depends']")
- deps.map{|dep| dep['value']}
+ deps.uniq.map{|dep| dep['value'].strip }
+ end
+
+ # The key / value pair in an environment or role ruby file
+ def field(ast, field_name)
+ if field_name.nil? || field_name.to_s.empty?
+ raise ArgumentError, "Field name cannot be nil or empty"
+ end
+ ast.xpath("//command[ident/@value='#{field_name}']")
+ end
+
+ # The value for a specific key in an environment or role ruby file
+ def field_value(ast, field_name)
+ field(ast, field_name).xpath('args_add_block/descendant::tstring_content
+ [count(ancestor::args_add) = 1][count(ancestor::string_add) = 1]
+ /@value').map{|a| a.to_s}.last
end
# Create a match for a specified file. Use this if the presence of the file
@@ -164,8 +181,13 @@ module FoodCritic
filter << '[count(descendant::string_embexpr) = 0]'
end
- included = ast.xpath(%Q{//command[ident/@value = 'include_recipe']#{filter.join}
- [descendant::args_add/string_literal]/descendant::tstring_content})
+ string_desc = '[descendant::args_add/string_literal]/descendant::tstring_content'
+ included = ast.xpath([
+ "//command[ident/@value = 'include_recipe']",
+ "//fcall[ident/@value = 'include_recipe']/following-sibling::arg_paren",
+ ].map do |recipe_include|
+ recipe_include + filter.join + string_desc
+ end.join(' | '))
# Hash keyed by recipe name with matched nodes.
included.inject(Hash.new([])){|h, i| h[i['value']] += [i]; h}
@@ -191,8 +213,7 @@ module FoodCritic
# Read the AST for the given Ruby source file
def read_ast(file)
source = if file.to_s.split(File::SEPARATOR).include?('templates')
- Template::ExpressionExtractor.new.extract(
- File.read(file)).map{|e| e[:code]}.join(';')
+ template_expressions_only(file)
else
File.read(file)
end
@@ -312,10 +333,30 @@ module FoodCritic
end
end
+ def templates_included(all_templates, template_path, depth=1)
+ raise RecursedTooFarError.new(template_path) if depth > 10
+ partials = read_ast(template_path).xpath('//*[self::command or
+ child::fcall][descendant::ident/@value="render"]//args_add/
+ string_literal//tstring_content/@value').map{|p| p.to_s}
+ Array(template_path) + partials.map do |included_partial|
+ partial_path = Array(all_templates).find do |path|
+ (Pathname.new(template_path).dirname + included_partial).to_s == path
+ end
+ if partial_path
+ Array(partial_path) +
+ templates_included(all_templates, partial_path, depth + 1)
+ end
+ end.flatten.uniq.compact
+ end
+
# Templates in the current cookbook
def template_paths(recipe_path)
- Dir[Pathname.new(recipe_path).dirname.dirname + 'templates' +
- '**/*'].select{|path| File.file?(path)}
+ Dir.glob(Pathname.new(recipe_path).dirname.dirname + 'templates' +
+ '**/*', File::FNM_DOTMATCH).select do |path|
+ File.file?(path)
+ end.reject do |path|
+ File.basename(path) == '.DS_Store' || File.extname(path) == '.swp'
+ end
end
private
@@ -390,6 +431,12 @@ module FoodCritic
end
end
+ def ignore_attributes_xpath(ignores)
+ Array(ignores).map do |ignore|
+ "[count(descendant::*[@value='#{ignore}']) = 0]"
+ end.join
+ end
+
def node_method?(meth, cookbook_dir)
chef_dsl_methods.include?(meth) || patched_node_method?(meth, cookbook_dir)
end
@@ -433,7 +480,22 @@ module FoodCritic
class AttFilter
def is_att_type(value)
return [] unless value.respond_to?(:select)
- value.select{|n| %w{node default override set normal}.include?(n.to_s)}
+ value.select do |n|
+ %w{
+ automatic_attrs
+ default
+ default_unless
+ force_default
+ force_override
+ node
+ normal
+ normal_unless
+ override
+ override_unless
+ set
+ set_unless
+ }.include?(n.to_s)
+ end
end
end
@@ -444,31 +506,45 @@ module FoodCritic
end.inject(:+)
else
type = if options[:type] == :string
- 'tstring_content'
- else
- '*[self::symbol or self::dyna_symbol]'
- end
+ 'tstring_content'
+ else
+ '*[self::symbol or self::dyna_symbol]'
+ end
expr = '//*[self::aref_field or self::aref][count(method_add_arg) = 0]'
expr += '[count(is_att_type(descendant::var_ref/ident/@value)) =
count(descendant::var_ref/ident/@value)]'
expr += '[is_att_type(descendant::ident'
expr += '[not(ancestor::aref/call)]' if options[:ignore_calls]
- expr += "/@value)]/descendant::#{type}"
- if options[:type] == :string
+ expr += '/@value)]'
+ expr += ignore_attributes_xpath(options[:ignore])
+ expr += "/descendant::#{type}"
+ if options[:type] == :string
expr += '[count(ancestor::dyna_symbol) = 0]'
end
ast.xpath(expr, AttFilter.new).sort
end
end
- def vivified_attribute_access(ast, cookbook_dir)
- calls = ast.xpath(%q{//*[self::call or self::field]
+ def template_expressions_only(file)
+ exprs = Template::ExpressionExtractor.new.extract(File.read(file))
+ lines = Array.new(exprs.map{|e| e[:line]}.max || 0, '')
+ exprs.each do |e|
+ lines[e[:line] -1] += ';' unless lines[e[:line] -1].empty?
+ lines[e[:line] -1] += e[:code]
+ end
+ lines.join("\n")
+ end
+
+ def vivified_attribute_access(ast, options={})
+ calls = ast.xpath(%Q{//*[self::call or self::field]
[is_att_type(vcall/ident/@value) or is_att_type(var_ref/ident/@value)]
+ #{ignore_attributes_xpath(options[:ignore])}
[@value='.'][count(following-sibling::arg_paren) = 0]}, AttFilter.new)
calls.select do |call|
call.xpath("aref/args_add_block").size == 0 and
(call.xpath("descendant::ident").size > 1 and
- ! node_method?(call.xpath("ident/@value").to_s.to_sym, cookbook_dir))
+ ! node_method?(call.xpath("ident/@value").to_s.to_sym,
+ options[:cookbook_dir]))
end.sort
end
diff --git a/lib/foodcritic/command_line.rb b/lib/foodcritic/command_line.rb
index ff3b495..92a7a33 100644
--- a/lib/foodcritic/command_line.rb
+++ b/lib/foodcritic/command_line.rb
@@ -9,40 +9,59 @@ module FoodCritic
def initialize(args)
@args = args
@original_args = args.dup
- @options = {:fail_tags => [], :tags => [], :include_rules => []}
+ @options = {
+ :fail_tags => [],
+ :tags => [],
+ :include_rules => [],
+ :cookbook_paths => [],
+ :role_paths => [],
+ :environment_paths => []
+ }
@parser = OptionParser.new do |opts|
opts.banner = 'foodcritic [cookbook_paths]'
opts.on("-t", "--tags TAGS",
"Only check against rules with the specified tags.") do |t|
- options[:tags] << t
+ @options[:tags] << t
end
opts.on("-f", "--epic-fail TAGS",
"Fail the build if any of the specified tags are matched ('any' -> fail on any match).") do |t|
- options[:fail_tags] << t
+ @options[:fail_tags] << t
end
opts.on("-c", "--chef-version VERSION",
"Only check against rules valid for this version of Chef.") do |c|
- options[:chef_version] = c
+ @options[:chef_version] = c
+ end
+ opts.on("-B", "--cookbook-path PATH",
+ "Cookbook path(s) to check.") do |b|
+ @options[:cookbook_paths] << b
end
opts.on("-C", "--[no-]context",
"Show lines matched against rather than the default summary.") do |c|
- options[:context] = c
+ @options[:context] = c
+ end
+ opts.on("-E", "--environment-path PATH",
+ "Environment path(s) to check.") do |e|
+ @options[:environment_paths] << e
end
opts.on("-I", "--include PATH",
"Additional rule file path(s) to load.") do |i|
- options[:include_rules] << i
+ @options[:include_rules] << i
end
opts.on("-G", "--search-gems",
"Search rubygems for rule files with the path foodcritic/rules/**/*.rb") do |g|
- options[:search_gems] = true
+ @options[:search_gems] = true
+ end
+ opts.on("-R", "--role-path PATH",
+ "Role path(s) to check.") do |r|
+ @options[:role_paths] << r
end
opts.on("-S", "--search-grammar PATH",
"Specify grammar to use when validating search syntax.") do |s|
- options[:search_grammar] = s
+ @options[:search_grammar] = s
end
opts.on("-V", "--version",
"Display the foodcritic version.") do |v|
- options[:version] = true
+ @options[:version] = true
end
end
# -v is not implemented but OptionParser gives the Foodcritic's version
@@ -86,18 +105,13 @@ module FoodCritic
"foodcritic #{FoodCritic::VERSION}"
end
- # If the cookbook paths provided are valid
+ # If the paths provided are valid
#
# @return [Boolean] True if the paths exist.
def valid_paths?
- @args.any? && @args.all? {|path| File.exists?(path) }
- end
-
- # The cookbook paths
- #
- # @return [Array<String>] Path(s) to the cookbook(s) being checked.
- def cookbook_paths
- @args
+ paths = options[:cookbook_paths] + options[:role_paths] +
+ options[:environment_paths]
+ paths.any? && paths.all?{|path| File.exists?(path) }
end
# Is the search grammar specified valid?
@@ -112,6 +126,27 @@ module FoodCritic
search.parser?
end
+ # The cookbook paths to check
+ #
+ # @return [Array<String>] Path(s) to the cookbook(s) being checked.
+ def cookbook_paths
+ @args + Array(@options[:cookbook_paths])
+ end
+
+ # The role paths to check
+ #
+ # @return [Array<String>] Path(s) to the role directories being checked.
+ def role_paths
+ Array(@options[:role_paths])
+ end
+
+ # The environment paths to check
+ #
+ # @return [Array<String>] Path(s) to the environment directories being checked.
+ def environment_paths
+ Array(@options[:environment_paths])
+ end
+
# If matches should be shown with context rather than the default summary
# display.
#
@@ -124,6 +159,17 @@ module FoodCritic
#
# @return [Hash] The parsed command-line options.
def options
+ original_options.merge({
+ :cookbook_paths => cookbook_paths,
+ :role_paths => role_paths,
+ :environment_paths => environment_paths,
+ })
+ end
+
+ # The original command-line options
+ #
+ # @return [Hash] The original command-line options.
+ def original_options
@options
end
diff --git a/lib/foodcritic/domain.rb b/lib/foodcritic/domain.rb
index 20dd716..1c4ab0a 100644
--- a/lib/foodcritic/domain.rb
+++ b/lib/foodcritic/domain.rb
@@ -1,16 +1,24 @@
+require 'gherkin/tag_expression'
+
module FoodCritic
# A warning of a possible issue
class Warning
- attr_reader :rule, :match
+ attr_reader :rule, :match, :is_failed
# Create a new warning.
#
# Warning.new(rule, :filename => 'foo/recipes.default.rb',
# :line => 5, :column=> 40)
#
- def initialize(rule, match={})
+ def initialize(rule, match={}, options={})
@rule, @match = rule, match
+ @is_failed = options[:fail_tags].empty? ? false : rule.matches_tags?(options[:fail_tags])
+ end
+
+ # If this warning has failed or not.
+ def failed?
+ @is_failed
end
end
@@ -19,15 +27,19 @@ module FoodCritic
attr_reader :cookbook_paths, :warnings
- def initialize(cookbook_paths, warnings, is_failed)
+ def initialize(cookbook_paths, warnings)
@cookbook_paths = Array(cookbook_paths)
@warnings = warnings
- @is_failed = is_failed
end
- # If this review has failed or not.
+ # If any of the warnings in this review have failed or not.
def failed?
- @is_failed
+ warnings.any? { |w| w.failed? }
+ end
+
+ # Returns an array of warnings that are marked as failed.
+ def failures
+ warnings.select { |w| w.failed? }
end
# Returns a string representation of this review. This representation is
@@ -48,7 +60,7 @@ module FoodCritic
# A rule to be matched against.
class Rule
attr_accessor :code, :name, :applies_to, :cookbook, :attributes, :recipe,
- :provider, :resource, :metadata, :library, :template
+ :provider, :resource, :metadata, :library, :template, :role, :environment
attr_writer :tags
@@ -64,6 +76,13 @@ module FoodCritic
['any'] + @tags
end
+ # Checks the rule's tags to see if they match a Gherkin (Cucumber) expression
+ def matches_tags?(tag_expr)
+ Gherkin::TagExpression.new(tag_expr).evaluate(tags.map do |t|
+ Gherkin::Formatter::Model::Tag.new(t, 1)
+ end)
+ end
+
# Returns a string representation of this rule.
def to_s
"#{@code}: #{@name}"
diff --git a/lib/foodcritic/dsl.rb b/lib/foodcritic/dsl.rb
index 877b0e2..b17d5c2 100644
--- a/lib/foodcritic/dsl.rb
+++ b/lib/foodcritic/dsl.rb
@@ -69,6 +69,9 @@ module FoodCritic
rule_block :library
rule_block :template
+ rule_block :environment
+ rule_block :role
+
# Load the ruleset(s).
def self.load(paths, chef_version=Linter::DEFAULT_CHEF_VERSION)
dsl = RuleDsl.new(chef_version)
diff --git a/lib/foodcritic/linter.rb b/lib/foodcritic/linter.rb
index e0d31ee..64f614c 100644
--- a/lib/foodcritic/linter.rb
+++ b/lib/foodcritic/linter.rb
@@ -1,7 +1,6 @@
require 'optparse'
require 'ripper'
require 'rubygems'
-require 'gherkin/tag_expression'
require 'set'
module FoodCritic
@@ -25,8 +24,7 @@ module FoodCritic
if ! cmd_line.valid_grammar?
[cmd_line.help, 4]
elsif cmd_line.valid_paths?
- review = FoodCritic::Linter.new.check(cmd_line.cookbook_paths,
- cmd_line.options)
+ review = FoodCritic::Linter.new.check(cmd_line.options)
[review, review.failed? ? 3 : 0]
else
[cmd_line.help, 2]
@@ -38,55 +36,86 @@ module FoodCritic
#
# The `options` are a hash where the valid keys are:
#
+ # * `:cookbook_paths` - Cookbook paths to lint
+ # * `:role_paths` - Role paths to lint
# * `:include_rules` - Paths to additional rules to apply
# * `:search_gems - If true then search for custom rules in installed gems.
# * `:tags` - The tags to filter rules based on
# * `:fail_tags` - The tags to fail the build on
# * `:exclude_paths` - Paths to exclude from linting
#
- def check(cookbook_paths, options = {})
+ def check(options = {})
- cookbook_paths = sanity_check_cookbook_paths(cookbook_paths)
options = setup_defaults(options)
@options = options
@chef_version = options[:chef_version] || DEFAULT_CHEF_VERSION
warnings = []; last_dir = nil; matched_rule_tags = Set.new
-
load_rules
+ paths = specified_paths!(options)
# Loop through each file to be processed and apply the rules
- files_to_process(cookbook_paths, options[:exclude_paths]).each do |file|
- ast = read_ast(file)
- relevant_tags = options[:tags].any? ? options[:tags] : cookbook_tags(file)
- active_rules(relevant_tags).each do |rule|
- rule_matches = matches(rule.recipe, ast, file)
+ files_to_process(paths).each do |p|
- if dsl_method_for_file(file)
- rule_matches += matches(rule.send(dsl_method_for_file(file)),
- ast, file)
- end
+ relevant_tags = if options[:tags].any?
+ options[:tags]
+ else
+ cookbook_tags(p[:filename])
+ end
- per_cookbook_rules(last_dir, file) do
- if File.basename(file) == 'metadata.rb'
- rule_matches += matches(rule.metadata, ast, file)
- end
- rule_matches += matches(rule.cookbook, cookbook_dir(file))
+ active_rules(relevant_tags).each do |rule|
+
+ state = {
+ :path_type => p[:path_type],
+ :file => p[:filename],
+ :ast => read_ast(p[:filename]),
+ :rule => rule,
+ :last_dir => last_dir
+ }
+
+ matches = if p[:path_type] == :cookbook
+ cookbook_matches(state)
+ else
+ other_matches(state)
end
- rule_matches = remove_ignored(rule_matches, rule, file)
+ matches = remove_ignored(matches, state[:rule], state[:file])
# Convert the matches into warnings
- rule_matches.each do |match|
- warnings << Warning.new(rule, {:filename => file}.merge(match))
- matched_rule_tags << rule.tags
+ matches.each do |match|
+ warnings << Warning.new(state[:rule],
+ {:filename => state[:file]}.merge(match), options)
+ matched_rule_tags << state[:rule].tags
end
end
- last_dir = cookbook_dir(file)
+ last_dir = cookbook_dir(p[:filename])
+ end
+
+ Review.new(paths, warnings)
+ end
+
+ def cookbook_matches(state)
+ cbk_matches = matches(state[:rule].recipe, state[:ast], state[:file])
+
+ if dsl_method_for_file(state[:file])
+ cbk_matches += matches(state[:rule].send(
+ dsl_method_for_file(state[:file])), state[:ast], state[:file])
+ end
+
+ per_cookbook_rules(state[:last_dir], state[:file]) do
+ if File.basename(state[:file]) == 'metadata.rb'
+ cbk_matches += matches(
+ state[:rule].metadata, state[:ast], state[:file])
+ end
+ cbk_matches += matches(
+ state[:rule].cookbook, cookbook_dir(state[:file]))
end
- Review.new(cookbook_paths, warnings,
- should_fail_build?(options[:fail_tags], matched_rule_tags))
+ cbk_matches
+ end
+
+ def other_matches(state)
+ matches(state[:rule].send(state[:path_type]), state[:ast], state[:file])
end
# Load the rules from the (fairly unnecessary) DSL.
@@ -120,7 +149,7 @@ module FoodCritic
def ignore_line_match?(line, rule)
ignores = line.to_s[/\s+#\s*(.*)/, 1]
if ignores and ignores.include?('~')
- ! matching_tags?(ignores.split(/[ ,]/), rule.tags)
+ ! rule.matches_tags?(ignores.split(/[ ,]/))
else
false
end
@@ -147,7 +176,7 @@ module FoodCritic
def active_rules(tags)
@rules.select do |rule|
- matching_tags?(tags, rule.tags) and
+ rule.matches_tags?(tags) and
applies_to_version?(rule, chef_version)
end
end
@@ -178,19 +207,29 @@ module FoodCritic
# Return the files within a cookbook tree that we are interested in trying
# to match rules against.
- def files_to_process(dirs, exclude_paths = [])
- files = []
- dirs.each do |dir|
- exclusions = Dir.glob(exclude_paths.map{|p| File.join(dir, p)})
- if File.directory? dir
- cookbook_glob = '{metadata.rb,{attributes,definitions,libraries,providers,recipes,resources}/*.rb,templates/*/*.erb}'
- files += (Dir.glob(File.join(dir, cookbook_glob)) +
- Dir.glob(File.join(dir, "*/#{cookbook_glob}")) - exclusions)
- else
- files << dir unless exclusions.include?(dir)
+ def files_to_process(paths)
+ paths.reject{|type, _| type == :exclude}.map do |path_type, dirs|
+ dirs.map do |dir|
+ exclusions = []
+ unless paths[:exclude].empty?
+ exclusions = Dir.glob(paths[:exclude].map{|p| File.join(dir, p)})
+ end
+
+ if File.directory?(dir)
+ glob = if path_type == :cookbook
+ '{metadata.rb,{attributes,definitions,libraries,providers,recipes,resources}/*.rb,templates/*/*.erb}'
+ else
+ '*.rb'
+ end
+ (Dir.glob(File.join(dir, glob)) +
+ Dir.glob(File.join(dir, "*/#{glob}")) - exclusions)
+ else
+ dir unless exclusions.include?(dir)
+ end
+ end.compact.flatten.map do |filename|
+ {:filename => filename, :path_type => path_type}
end
- end
- files
+ end.flatten
end
# Invoke the DSL method with the provided parameters.
@@ -211,34 +250,27 @@ module FoodCritic
end.flatten
end
- # We use the Gherkin (Cucumber) syntax to specify tags.
- def matching_tags?(tag_expr, tags)
- Gherkin::TagExpression.new(tag_expr).evaluate(tags.map do |t|
- Gherkin::Formatter::Model::Tag.new(t, 1)
- end)
- end
-
def per_cookbook_rules(last_dir, file)
yield if last_dir != cookbook_dir(file)
end
- def sanity_check_cookbook_paths(cookbook_paths)
- raise ArgumentError, "Cookbook paths are required" if cookbook_paths.nil?
- cookbook_paths = Array(cookbook_paths)
- if cookbook_paths.empty?
- raise ArgumentError, "Cookbook paths cannot be empty"
+ def specified_paths!(options)
+ paths = Hash[options.map do |key, value|
+ [key, Array(value)] if key.to_s.end_with?('paths')
+ end.compact]
+
+ unless paths.find{|k, v| k != :exclude_paths and ! v.empty?}
+ raise ArgumentError, "A cookbook path or role path must be specified"
end
- cookbook_paths
- end
- def setup_defaults(options)
- {:tags => [], :fail_tags => [],
- :include_rules => [], :exclude_paths => []}.merge(options)
+ Hash[paths.map do |key, value|
+ [key.to_s.sub(/_paths$/, '').to_sym, value]
+ end]
end
- def should_fail_build?(fail_tags, matched_tags)
- return false if fail_tags.empty?
- matched_tags.any?{|tags| matching_tags?(fail_tags, tags)}
+ def setup_defaults(options)
+ {:tags => [], :fail_tags => [], :include_rules => [], :exclude_paths => [],
+ :cookbook_paths => [], :role_paths => []}.merge(options)
end
end
diff --git a/lib/foodcritic/rake_task.rb b/lib/foodcritic/rake_task.rb
index 80c2608..6c53980 100644
--- a/lib/foodcritic/rake_task.rb
+++ b/lib/foodcritic/rake_task.rb
@@ -9,7 +9,7 @@ module FoodCritic
def initialize(name = :foodcritic)
@name = name
- @files = Dir.pwd
+ @files = [Dir.pwd]
@options = {}
yield self if block_given?
define
@@ -17,6 +17,7 @@ module FoodCritic
def options
{:fail_tags => ['correctness'], # differs to default cmd-line behaviour
+ :cookbook_paths => @files,
:exclude_paths => ['test/**/*', 'spec/**/*', 'features/**/*']
}.merge(@options)
end
@@ -24,7 +25,7 @@ module FoodCritic
def define
desc "Lint Chef cookbooks"
task(name) do
- result = FoodCritic::Linter.new.check(files, options)
+ result = FoodCritic::Linter.new.check(options)
if result.warnings.any?
puts result
end
diff --git a/lib/foodcritic/rules.rb b/lib/foodcritic/rules.rb
index fb7b5e2..179f1d8 100644
--- a/lib/foodcritic/rules.rb
+++ b/lib/foodcritic/rules.rb
@@ -208,12 +208,30 @@ rule "FC017", "LWRP does not notify when updated" do
version >= gem_version("0.7.12")
end
provider do |ast, filename|
- if ast.xpath(%q{//*[self::call or self::command_call]/
- *[self::vcall or self::var_ref/ident/
- @value='new_resource']/../
- ident[@value='updated_by_last_action']}).empty?
- [file_match(filename)]
+
+ use_inline_resources = ! ast.xpath('//*[self::vcall or self::var_ref]/ident
+ [@value="use_inline_resources"]').empty?
+
+ unless use_inline_resources
+ actions = ast.xpath('//method_add_block/command[ident/@value="action"]/
+ args_add_block/descendant::symbol/ident')
+
+ actions.reject do |action|
+ blk = action.xpath('ancestor::command[1]/
+ following-sibling::*[self::do_block or self::brace_block]')
+ empty = ! blk.xpath('stmts_add/void_stmt').empty?
+ converge_by = ! blk.xpath('descendant::*[self::command or self::fcall]
+ /ident[@value="converge_by"]').empty?
+
+ updated_by_last_action = ! blk.xpath('descendant::*[self::call or
+ self::command_call]/*[self::vcall or self::var_ref/ident/
+ @value="new_resource"]/../ident[@value="updated_by_last_action"]
+ ').empty?
+
+ empty || converge_by || updated_by_last_action
+ end
end
+
end
end
@@ -240,7 +258,7 @@ rule "FC019", "Access node attributes in a consistent manner" do
types = [:string, :symbol, :vivified].map do |type|
{:access_type => type, :count => files.map do |file|
attribute_access(file[:ast], :type => type, :ignore_calls => true,
- :cookbook_dir => cookbook_dir).tap do |ast|
+ :cookbook_dir => cookbook_dir, :ignore => 'run_state').tap do |ast|
unless ast.empty?
(asts[type] ||= []) << {:ast => ast, :path => file[:path]}
end
@@ -278,6 +296,8 @@ rule "FC022", "Resource condition within loop may not behave as expected" do
ast.xpath("//call[ident/@value='each']/../do_block").map do |loop|
block_vars = loop.xpath("block_var/params/child::*").map do |n|
n.name.sub(/^ident/, '')
+ end + loop.xpath("block_var/params/child::*/descendant::ident").map do |v|
+ v['value']
end
find_resources(loop).map do |resource|
# if any of the parameters to the block are used in a condition then we
@@ -466,17 +486,29 @@ end
rule "FC034", "Unused template variables" do
tags %w{correctness}
recipe do |ast,filename|
- Array(resource_attributes_by_type(ast)['template']).select do
- |t| t['variables'] and t['variables'].respond_to?(:xpath)
+ Array(resource_attributes_by_type(ast)['template']).select do |t|
+ t['variables'] and t['variables'].respond_to?(:xpath)
end.map do |resource|
- template_path = template_paths(filename).find do |p|
- File.basename(p) == resource['source']
+ all_templates = template_paths(filename)
+ template_path = all_templates.find do |path|
+ File.basename(path) == template_file(resource)
end
next unless template_path
- passed_vars = resource['variables'].xpath('symbol/ident/@value').map{|tv| tv.to_s}
- template_vars = read_ast(template_path).xpath('//var_ref/ivar/' +
- '@value').map{|v| v.to_s.sub(/^@/, '')}
- file_match(template_path) unless (passed_vars - template_vars).empty?
+ passed_vars = resource['variables'].xpath(
+ 'symbol/ident/@value').map{|tv| tv.to_s}
+
+ begin
+ template_vars = templates_included(
+ all_templates, template_path).map do |template|
+ read_ast(template).xpath('//var_ref/ivar/@value').map do |v|
+ v.to_s.sub(/^@/, '')
+ end
+ end.flatten
+
+ file_match(template_path) unless (passed_vars - template_vars).empty?
+ rescue RecursedTooFarError
+ []
+ end
end.compact
end
end
@@ -608,3 +640,64 @@ rule "FC046", "Attribute assignment uses assign unless nil" do
attribute_access(ast).map{|a| a.xpath('ancestor::opassign/op[@value="||="]')}
end
end
+
+rule "FC047", "Attribute assignment does not specify precedence" do
+ tags %w{attributes correctness}
+ recipe do |ast|
+ attribute_access(ast).map do |att|
+ exclude_att_types = '[count(following-sibling::ident[
+ is_att_type(@value) or @value = "run_state"]) = 0]'
+ att.xpath(%Q{ancestor::assign[*[self::field | self::aref_field]
+ [descendant::*[self::vcall | self::var_ref][ident/@value="node"]
+ #{exclude_att_types}]]}, AttFilter.new) +
+ att.xpath(%Q{ancestor::binary[@value="<<"]/*[position() = 1][self::aref]
+ [descendant::*[self::vcall | self::var_ref]#{exclude_att_types}
+ /ident/@value="node"]}, AttFilter.new)
+ end
+ end
+end
+
+rule "FC048", "Prefer Mixlib::ShellOut" do
+ tags %w{style processes}
+ recipe do |ast|
+ ast.xpath('//xstring_literal | //*[self::command or self::fcall]/
+ ident[@value="system"][count(following-sibling::args_add_block/
+ descendant::kw[@value="true" or @value="false"]) = 0]')
+ end
+end
+
+rule "FC049", "Role name does not match containing file name" do
+ tags %w{style roles}
+ role do |ast, filename|
+ role_name_specified = field_value(ast, :name)
+ role_name_file = Pathname.new(filename).basename.sub_ext('').to_s
+ if role_name_specified and role_name_specified != role_name_file
+ field(ast, :name)
+ end
+ end
+end
+
+rule "FC050", "Name includes invalid characters" do
+ tags %w{correctness environments roles}
+ def invalid_name(ast)
+ field(ast, :name) unless field_value(ast, :name) =~ /^[a-zA-Z0-9_\-]+$/
+ end
+ environment{|ast| invalid_name(ast)}
+ role{|ast| invalid_name(ast)}
+end
+
+rule "FC051", "Template partials loop indefinitely" do
+ tags %w{correctness}
+ recipe do |_,filename|
+ cbk_templates = template_paths(filename)
+
+ cbk_templates.select do |template|
+ begin
+ templates_included(cbk_templates, template)
+ false
+ rescue RecursedTooFarError
+ true
+ end
+ end.map{|t| file_match(t)}
+ end
+end
diff --git a/lib/foodcritic/template.rb b/lib/foodcritic/template.rb
index 137ae5e..b6065f5 100644
--- a/lib/foodcritic/template.rb
+++ b/lib/foodcritic/template.rb
@@ -13,7 +13,7 @@ module FoodCritic
def extract(template_code)
@expressions = []
convert(template_code)
- @expressions
+ expressions(template_code)
end
def add_expr(src, code, indicator)
@@ -38,6 +38,39 @@ module FoodCritic
@expressions << {:type => :statement, :code => code.strip}
end
+ private
+
+ def expressions(template_code)
+ expr_lines = expressions_with_lines(template_code)
+ expr_lines.map do |expr, line|
+ e = @expressions.find{|e| e[:code] == expr}
+ {:code => expr, :type => e[:type], :line => line} if e
+ end.compact
+ end
+
+ def expressions_with_lines(template_code)
+ lines = lines_with_offsets(template_code)
+ expression_offsets(template_code).map do |expr_offset, code|
+ [code, lines.find {|line, offset| offset >= expr_offset}.first]
+ end
+ end
+
+ def expression_offsets(template_code)
+ expr_offsets = []
+ template_code.scan(DEFAULT_REGEXP) do |m|
+ expr_offsets << [Regexp.last_match.offset(0).first, m[1].strip]
+ end
+ expr_offsets
+ end
+
+ def lines_with_offsets(template_code)
+ line_offsets = []
+ template_code.scan(/$/) do |m|
+ line_offsets << Regexp.last_match.offset(0).first
+ end
+ line_offsets.each_with_index.map{| pos, ln| [ln +1, pos]}
+ end
+
end
end
diff --git a/lib/foodcritic/version.rb b/lib/foodcritic/version.rb
index 6d1609f..0788a47 100644
--- a/lib/foodcritic/version.rb
+++ b/lib/foodcritic/version.rb
@@ -1,4 +1,4 @@
module FoodCritic
# The current version of foodcritic
- VERSION = '2.2.0'
+ VERSION = '3.0.3'
end
diff --git a/man/foodcritic.1 b/man/foodcritic.1
new file mode 100644
index 0000000..9966b51
--- /dev/null
+++ b/man/foodcritic.1
@@ -0,0 +1,70 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "FOODCRITIC" "1" "August 2013" "" ""
+.
+.SH "NAME"
+\fBfoodcritic\fR \- lint tool for chef cookbooks
+.
+.SH "SYNOPSIS"
+\fBfoodcritic\fR [\fIoptions\fR\.\.\.] \fIcookbook\fR\.\.\.
+.
+.SH "DESCRIPTION"
+\fBfoodcritic\fR makes it easier to flag problems in your Chef cookbooks that will cause Chef to blow up when you attempt to converge\. This is about faster feedback\.
+.
+.P
+Each \fBcookbook\fR path specified will be examined for common problems and poor style\.
+.
+.SH "OPTIONS"
+.
+.TP
+\fB\-t\fR, \fB\-\-tags\fR \fITAGS\fR
+Only check against rules with the specified tags\.
+.
+.TP
+\fB\-f\fR, \fB\-\-epic\-fail\fR \fITAGS\fR
+Exit non\-zero if any of the specified tags are matched\. Use the pseudo\-tag \fBany\fR to fail if any tag is matched\.
+.
+.TP
+\fB\-c\fR, \fB\-\-chef\-version\fR \fIVERSION\fR
+Only check against rules valid for this version of Chef\.
+.
+.TP
+\fB\-B\fR, \fB\-\-cookbook\-path\fR
+Cookbook path(s) to check\.
+.
+.TP
+\fB\-C\fR, \fB\-\-\fR[\fBno\-\fR]\fBcontext\fR
+Show lines matched against rather than the default summary\.
+.
+.TP
+\fB\-E\fR, \fB\-\-environment\-path\fR
+Environment path(s) to check\.
+.
+.TP
+\fB\-I\fR, \fB\-\-include\fR \fIPATH\fR
+Additional rule file path(s) to load\.
+.
+.TP
+\fB\-R\fR, \fB\-\-role\-path\fR
+Role path(s) to check\.
+.
+.TP
+\fB\-S\fR, \fB\-\-search\-grammar\fR \fIPATH\fR
+Specify grammar to use when validating search syntax\. (Default: the grammar of any installed Chef)
+.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display the foodcritic version\.
+.
+.SH "RETURN VALUES"
+By default, \fBfoodcritic\fR will always return \fB0\fR\.
+.
+.P
+If \fB\-\-epic\-fail\fR is specified, then \fBfoodcritic\fR will return \fB3\fR if any tags are matched\.
+.
+.SH "COPYRIGHT"
+\fBfoodcritic\fR is Copyright 2011 by Andrew Crump\.
+.
+.SH "SEE ALSO"
+chef(1)
diff --git a/man/foodcritic.1.ronn b/man/foodcritic.1.ronn
index 6465c56..a437930 100644
--- a/man/foodcritic.1.ronn
+++ b/man/foodcritic.1.ronn
@@ -28,12 +28,21 @@ poor style.
* `-c`, `--chef-version` <VERSION>:
Only check against rules valid for this version of Chef.
+ * `-B`, `--cookbook-path`:
+ Cookbook path(s) to check.
+
* `-C`, `--`[`no-`]`context`:
Show lines matched against rather than the default summary.
+ * `-E`, `--environment-path`:
+ Environment path(s) to check.
+
* `-I`, `--include` <PATH>:
Additional rule file path(s) to load.
+ * `-R`, `--role-path`:
+ Role path(s) to check.
+
* `-S`, `--search-grammar` <PATH>:
Specify grammar to use when validating search syntax.
(Default: the grammar of any installed Chef)
diff --git a/metadata.yml b/metadata.yml
new file mode 100644
index 0000000..daad83c
--- /dev/null
+++ b/metadata.yml
@@ -0,0 +1,264 @@
+--- !ruby/object:Gem::Specification
+name: foodcritic
+version: !ruby/object:Gem::Version
+ version: 3.0.3
+platform: ruby
+authors:
+- Andrew Crump
+autorequire:
+bindir: bin
+cert_chain: []
+date: 2013-10-13 00:00:00.000000000 Z
+dependencies:
+- !ruby/object:Gem::Dependency
+ name: gherkin
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 2.11.7
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 2.11.7
+- !ruby/object:Gem::Dependency
+ name: nokogiri
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.5.4
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.5.4
+- !ruby/object:Gem::Dependency
+ name: rake
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+- !ruby/object:Gem::Dependency
+ name: treetop
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.4.10
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.4.10
+- !ruby/object:Gem::Dependency
+ name: yajl-ruby
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.1.0
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ~>
+ - !ruby/object:Gem::Version
+ version: 1.1.0
+- !ruby/object:Gem::Dependency
+ name: erubis
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+description: Lint tool for Opscode Chef cookbooks.
+email:
+executables:
+- foodcritic
+extensions: []
+extra_rdoc_files: []
+files:
+- chef_dsl_metadata/chef_10.20.0.json
+- chef_dsl_metadata/chef_10.12.0.json
+- chef_dsl_metadata/chef_10.18.2.json
+- chef_dsl_metadata/chef_10.26.0.json
+- chef_dsl_metadata/chef_0.10.10.json
+- chef_dsl_metadata/chef_0.9.4.json
+- chef_dsl_metadata/chef_0.10.8.json
+- chef_dsl_metadata/chef_10.14.4.json
+- chef_dsl_metadata/chef_0.9.12.json
+- chef_dsl_metadata/chef_10.22.0.json
+- chef_dsl_metadata/chef_0.10.6.json
+- chef_dsl_metadata/chef_11.0.0.json
+- chef_dsl_metadata/chef_0.9.8.json
+- chef_dsl_metadata/chef_11.4.0.json
+- chef_dsl_metadata/chef_0.8.14.json
+- chef_dsl_metadata/chef_0.9.18.json
+- chef_dsl_metadata/chef_10.16.0.json
+- chef_dsl_metadata/chef_11.4.2.json
+- chef_dsl_metadata/chef_0.9.16.json
+- chef_dsl_metadata/chef_0.9.2.json
+- chef_dsl_metadata/chef_0.9.6.json
+- chef_dsl_metadata/chef_10.16.6.json
+- chef_dsl_metadata/chef_10.16.4.json
+- chef_dsl_metadata/chef_0.9.14.json
+- chef_dsl_metadata/chef_10.18.0.json
+- chef_dsl_metadata/chef_0.10.2.json
+- chef_dsl_metadata/chef_0.9.0.json
+- chef_dsl_metadata/chef_0.8.16.json
+- chef_dsl_metadata/chef_0.10.4.json
+- chef_dsl_metadata/chef_11.4.4.json
+- chef_dsl_metadata/chef_0.10.0.json
+- chef_dsl_metadata/chef_10.16.2.json
+- chef_dsl_metadata/chef_10.24.0.json
+- chef_dsl_metadata/chef_11.6.0.json
+- chef_dsl_metadata/chef_10.24.4.json
+- chef_dsl_metadata/chef_10.14.2.json
+- chef_dsl_metadata/chef_10.14.0.json
+- chef_dsl_metadata/chef_11.2.0.json
+- chef_dsl_metadata/chef_0.9.10.json
+- lib/foodcritic/dsl.rb
+- lib/foodcritic/command_line.rb
+- lib/foodcritic/rake_task.rb
+- lib/foodcritic/chef.rb
+- lib/foodcritic/ast.rb
+- lib/foodcritic/api.rb
+- lib/foodcritic/output.rb
+- lib/foodcritic/xml.rb
+- lib/foodcritic/template.rb
+- lib/foodcritic/linter.rb
+- lib/foodcritic/error_checker.rb
+- lib/foodcritic/domain.rb
+- lib/foodcritic/rules.rb
+- lib/foodcritic/version.rb
+- lib/foodcritic/notifications.rb
+- lib/foodcritic.rb
+- bin/foodcritic
+- spec/spec_helper.rb
+- spec/regression/regression_spec.rb
+- spec/regression/expected-output.txt
+- spec/regression/cookbooks.txt
+- spec/foodcritic/template_spec.rb
+- spec/foodcritic/command_line_spec.rb
+- spec/foodcritic/chef_spec.rb
+- spec/foodcritic/api_spec.rb
+- spec/foodcritic/linter_spec.rb
+- spec/foodcritic/domain_spec.rb
+- spec/regression_helpers.rb
+- features/045_check_for_cookbook_name_in_metadata.feature
+- features/choose_rules_to_apply.feature
+- features/030_check_for_debugger_breakpoints.feature
+- features/006_check_file_mode.feature
+- features/050_check_for_invalid_name.feature
+- features/029_check_for_no_leading_cookbook_name.feature
+- features/include_custom_rules.feature
+- features/031_check_for_metadata_existence.feature
+- features/checking_all_types_of_file.feature
+- features/021_check_for_dodgy_lwrp_conditions.feature
+- features/051_check_for_template_partial_loops.feature
+- features/015_check_for_definitions.feature
+- features/041_check_raw_download.feature
+- features/individual_file.feature
+- features/multiple_paths.feature
+- features/007_check_for_undeclared_recipe_dependencies.feature
+- features/046_check_for_assign_unless_nil_attributes.feature
+- features/023_check_for_condition_around_resource.feature
+- features/003_check_for_chef_server.feature
+- features/018_check_for_old_lwrp_notification_syntax.feature
+- features/043_check_for_old_notification_style.feature
+- features/002_check_string_interpolation.feature
+- features/044_check_for_bare_attribute_keys.feature
+- features/028_check_for_incorrect_platform_method.feature
+- features/008_check_for_boilerplate_metadata.feature
+- features/039_check_for_key_access_to_node_methods.feature
+- features/026_check_for_conditional_block_string.feature
+- features/010_check_search_syntax.feature
+- features/show_lines_matched.feature
+- features/005_check_for_resource_repetition.feature
+- features/012_check_for_deprecated_readme_format.feature
+- features/017_check_for_no_lwrp_notifications.feature
+- features/support/cookbook_helpers.rb
+- features/support/env.rb
+- features/support/command_helpers.rb
+- features/032_check_for_invalid_notification_timing.feature
+- features/continuous_integration_support.feature
+- features/034_check_for_unused_template_variables.feature
+- features/038_check_for_invalid_action.feature
+- features/022_check_for_dodgy_conditions_within_loop.feature
+- features/025_check_for_deprecated_gem_install.feature
+- features/004_check_service_resource_used.feature
+- features/sort_warnings.feature
+- features/limit_rules_to_specific_versions.feature
+- features/step_definitions/cookbook_steps.rb
+- features/042_check_for_deprecated_require_recipe.feature
+- features/024_check_for_missing_platforms.feature
+- features/command_line_help.feature
+- features/049_check_for_role_name_mismatch_with_file_name.feature
+- features/013_check_for_hardcoded_tmpdir.feature
+- features/047_check_for_attribute_assignment_without_precedence.feature
+- features/011_check_for_markdown_readme.feature
+- features/specify_search_grammar.feature
+- features/019_check_for_consistent_node_access.feature
+- features/014_check_for_long_ruby_blocks.feature
+- features/037_check_for_invalid_notification_action.feature
+- features/ignore_via_line_comments.feature
+- features/016_check_for_no_lwrp_default_action.feature
+- features/033_check_for_missing_template.feature
+- features/048_check_for_shellout.feature
+- features/040_check_raw_git_usage.feature
+- features/009_check_for_unrecognised_resource_attributes.feature
+- features/build_framework_support.feature
+- features/027_check_for_internal_attribute_use.feature
+- CHANGELOG.md
+- README.md
+- LICENSE
+- man/foodcritic.1.ronn
+- man/foodcritic.1
+homepage: http://foodcritic.io
+licenses:
+- MIT
+metadata: {}
+post_install_message:
+rdoc_options: []
+require_paths:
+- lib
+required_ruby_version: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: 1.9.2
+required_rubygems_version: !ruby/object:Gem::Requirement
+ requirements:
+ - - ! '>='
+ - !ruby/object:Gem::Version
+ version: '0'
+requirements: []
+rubyforge_project:
+rubygems_version: 2.0.7
+signing_key:
+specification_version: 4
+summary: foodcritic-3.0.3
+test_files: []
diff --git a/spec/foodcritic/api_spec.rb b/spec/foodcritic/api_spec.rb
index 9650ef3..71b4c3a 100644
--- a/spec/foodcritic/api_spec.rb
+++ b/spec/foodcritic/api_spec.rb
@@ -21,6 +21,8 @@ describe FoodCritic::Api do
:chef_solo_search_supported?,
:cookbook_name,
:declared_dependencies,
+ :field,
+ :field_value,
:file_match,
:find_resources,
:gem_version,
@@ -40,9 +42,10 @@ describe FoodCritic::Api do
:ruby_code?,
:searches,
:standard_cookbook_subdirs,
- :supported_platforms,
+ :supported_platforms,
:template_file,
:template_paths,
+ :templates_included,
:valid_query?
])
end
@@ -87,6 +90,51 @@ describe FoodCritic::Api do
ast = parse_ast(%q{baz = search(:node, "name:#{node['foo']['bar']}")[0]})
api.attribute_access(ast, :type => :symbol).must_be_empty
end
+ describe :ignoring_attributes do
+ it "doesn't ignore run_state by default for backwards compatibility" do
+ ast = parse_ast("node.run_state['bar'] = 'baz'")
+ api.attribute_access(ast).wont_be_empty
+ end
+ it "allows run_state to be ignored" do
+ ast = parse_ast("node.run_state['bar'] = 'baz'")
+ api.attribute_access(ast, :ignore => ['run_state']).must_be_empty
+ end
+ it "allows run_state to be ignored (symbols access)" do
+ ast = parse_ast("node.run_state[:bar] = 'baz'")
+ api.attribute_access(ast, :ignore => ['run_state']).must_be_empty
+ end
+ it "allows any attribute to be ignored" do
+ ast = parse_ast("node['bar'] = 'baz'")
+ api.attribute_access(ast, :ignore => ['bar']).must_be_empty
+ end
+ it "allows any attribute to be ignored (symbols access)" do
+ ast = parse_ast("node[:bar] = 'baz'")
+ api.attribute_access(ast, :ignore => ['bar']).must_be_empty
+ end
+ it "allows any attribute to be ignored (dot access)" do
+ ast = parse_ast("node.bar = 'baz'")
+ api.attribute_access(ast, :ignore => ['bar']).must_be_empty
+ end
+ it "includes the children of attributes" do
+ ast = parse_ast("node['foo']['bar'] = 'baz'")
+ api.attribute_access(ast).map{|a| a['value']}.must_equal(%w{foo bar})
+ end
+ it "does not include children of removed attributes" do
+ ast = parse_ast("node['foo']['bar'] = 'baz'")
+ api.attribute_access(ast, :ignore => ['foo']).must_be_empty
+ end
+ it "coerces ignore values to enumerate them" do
+ ast = parse_ast("node.run_state['bar'] = 'baz'")
+ api.attribute_access(ast, :ignore => 'run_state').must_be_empty
+ end
+ it "can ignore multiple attributes" do
+ ast = parse_ast(%q{
+ node['bar'] = 'baz'
+ node.foo = 'baz'
+ })
+ api.attribute_access(ast, :ignore => %w{foo bar}).must_be_empty
+ end
+ end
end
describe "#checks_for_chef_solo?" do
@@ -184,6 +232,86 @@ describe FoodCritic::Api do
end
end
+ describe "#field" do
+ describe :simple_ast do
+ let(:ast){ parse_ast('name "webserver"') }
+ it "raises if the field name is nil" do
+ lambda{api.field(ast, nil)}.must_raise ArgumentError
+ end
+ it "raises if the field name is empty" do
+ lambda{api.field(ast, '')}.must_raise ArgumentError
+ end
+ it "returns empty if the field is not present" do
+ api.field(ast, :common_name).must_be_empty
+ end
+ it "accepts a string for the field name" do
+ api.field(ast, 'name').wont_be_empty
+ end
+ it "accepts a symbol for the field name" do
+ api.field(ast, :name).wont_be_empty
+ end
+ end
+ it "returns fields when the value is an embedded string expression" do
+ ast = parse_ast(%q{
+ name "#{foo}_#{bar}"
+ }.strip)
+ api.field(ast, :name).size.must_equal 1
+ end
+ it "returns fields when the value is a method call" do
+ ast = parse_ast(%q{
+ name generate_name
+ }.strip)
+ api.field(ast, :name).size.must_equal 1
+ end
+ it "returns both fields if the field is specified twice" do
+ ast = parse_ast(%q{
+ name "webserver"
+ name "database"
+ }.strip)
+ api.field(ast, :name).size.must_equal 2
+ end
+ end
+
+ describe "#field_value" do
+ describe :simple_ast do
+ let(:ast){ parse_ast('name "webserver"') }
+ it "raises if the field name is nil" do
+ lambda{api.field_value(ast, nil)}.must_raise ArgumentError
+ end
+ it "raises if the field name is empty" do
+ lambda{api.field_value(ast, '')}.must_raise ArgumentError
+ end
+ it "is falsy if the field is not present" do
+ refute api.field_value(ast, :common_name)
+ end
+ it "accepts a string for the field name" do
+ api.field_value(ast, 'name').must_equal 'webserver'
+ end
+ it "accepts a symbol for the field name" do
+ api.field_value(ast, :name).must_equal 'webserver'
+ end
+ end
+ it "is falsy when the value is an embedded string expression" do
+ ast = parse_ast(%q{
+ name "#{foo}_#{bar}"
+ }.strip)
+ refute api.field_value(ast, :name)
+ end
+ it "is falsy when the value is a method call" do
+ ast = parse_ast(%q{
+ name generate_name('foo')
+ }.strip)
+ refute api.field_value(ast, :name)
+ end
+ it "returns the last value if the field is specified twice" do
+ ast = parse_ast(%q{
+ name "webserver"
+ name "database"
+ }.strip)
+ api.field_value(ast, :name).must_equal 'database'
+ end
+ end
+
describe "#file_match" do
it "includes the provided filename in the match" do
api.file_match("foo.rb")[:filename].must_equal "foo.rb"
@@ -1612,4 +1740,85 @@ describe FoodCritic::Api do
end
end
+ describe "#templates_included" do
+
+ def all_templates
+ [
+ 'templates/default/main.erb',
+ 'templates/default/included_1.erb',
+ 'templates/default/included_2.erb'
+ ]
+ end
+
+ def template_ast(content)
+ parse_ast(FoodCritic::Template::ExpressionExtractor.new.extract(
+ content).map{|e| e[:code]}.join(';'))
+ end
+
+ it "returns the path of the containing template when there are no partials" do
+ ast = parse_ast('<%= foo.erb %>')
+ api.stub :read_ast, ast do
+ api.templates_included(['foo.erb'], 'foo.erb').must_equal ['foo.erb']
+ end
+ end
+
+ it "returns the path of the containing template and any partials" do
+ api.instance_variable_set(:@asts, {
+ :main => template_ast('<%= render "included_1.erb" %>
+ <%= render "included_2.erb" %>'),
+ :ok => template_ast('<%= @foo %>')
+ })
+ def api.read_ast(path)
+ case path
+ when /main/ then @asts[:main]
+ else @asts[:ok]
+ end
+ end
+ api.templates_included(all_templates,
+ 'templates/default/main.erb').must_equal(
+ ['templates/default/main.erb',
+ 'templates/default/included_1.erb',
+ 'templates/default/included_2.erb']
+ )
+ end
+
+ it "doesn't mistake render options for partial template names" do
+ api.instance_variable_set(:@asts, {
+ :main => template_ast('<%= render "included_1.erb",
+ :variables => {:foo => "included_2.erb"} %>'),
+ :ok => template_ast('<%= @foo %>')
+ })
+ def api.read_ast(path)
+ case path
+ when /main/ then @asts[:main]
+ else @asts[:ok]
+ end
+ end
+ api.templates_included(all_templates,
+ 'templates/default/main.erb').must_equal(
+ ['templates/default/main.erb', 'templates/default/included_1.erb']
+ )
+ end
+
+ it "raises if included partials have cycles" do
+ api.instance_variable_set(:@asts, {
+ :main => template_ast('<%= render "included_1.erb" %>
+ <%= render "included_2.erb" %>'),
+ :loop => template_ast('<%= render "main.erb" %>'),
+ :ok => template_ast('<%= foo %>')
+ })
+ def api.read_ast(path)
+ case path
+ when /main/ then @asts[:main]
+ when /included_2/ then @asts[:loop]
+ else @asts[:ok]
+ end
+ end
+ err = lambda do
+ api.templates_included(all_templates, 'templates/default/main.erb')
+ end.must_raise(FoodCritic::Api::RecursedTooFarError)
+ err.message.must_equal 'templates/default/main.erb'
+ end
+ end
+
end
diff --git a/spec/foodcritic/command_line_spec.rb b/spec/foodcritic/command_line_spec.rb
index cd3538d..fa45fc2 100644
--- a/spec/foodcritic/command_line_spec.rb
+++ b/spec/foodcritic/command_line_spec.rb
@@ -23,6 +23,19 @@ describe FoodCritic::CommandLine do
end
end
+ describe "#role_paths" do
+ it "returns an empty if no role paths are specified" do
+ FoodCritic::CommandLine.new([]).role_paths.must_be_empty
+ end
+ it "returns the provided role path" do
+ FoodCritic::CommandLine.new(['-R', 'roles']).role_paths.must_equal(%w{roles})
+ end
+ it "returns the provided role paths when there are multiple" do
+ FoodCritic::CommandLine.new(['-R', 'roles1',
+ '-R', 'roles2']).role_paths.must_equal(%w{roles1 roles2})
+ end
+ end
+
describe "#valid_paths?" do
it "returns false if no paths are specified" do
refute FoodCritic::CommandLine.new([]).valid_paths?
diff --git a/spec/foodcritic/domain_spec.rb b/spec/foodcritic/domain_spec.rb
index 5d79f24..1d3d4d6 100644
--- a/spec/foodcritic/domain_spec.rb
+++ b/spec/foodcritic/domain_spec.rb
@@ -2,23 +2,58 @@ require_relative '../spec_helper'
describe FoodCritic::Review do
it "is instantiable with no warnings" do
- FoodCritic::Review.new('example', [], false)
+ FoodCritic::Review.new('example', [])
end
describe "#cookbook_paths" do
it "returns the cookbook paths provided" do
- FoodCritic::Review.new(['example'], [], false).cookbook_paths.must_equal ['example']
+ FoodCritic::Review.new(['example'], []).cookbook_paths.must_equal ['example']
end
it "returns the cookbook paths provided when there are multiple" do
- FoodCritic::Review.new(['example', 'example2'], [], false).cookbook_paths.must_equal ['example', 'example2']
+ FoodCritic::Review.new(['example', 'example2'], []).cookbook_paths.must_equal ['example', 'example2']
end
end
describe "#warnings" do
it "returns empty when there are no warnings" do
- FoodCritic::Review.new('example', [], false).warnings.must_be_empty
+ FoodCritic::Review.new('example', []).warnings.must_be_empty
end
it "makes the warnings available" do
warning = 'Danger Will Robinson'
- FoodCritic::Review.new('example', [warning], false).warnings.must_equal [warning]
+ FoodCritic::Review.new('example', [warning]).warnings.must_equal [warning]
+ end
+ end
+end
+
+describe FoodCritic::Rule do
+ let(:rule) { FoodCritic::Rule.new('FCTEST001', 'Test rule') }
+
+ describe '#matches_tags?' do
+ it "matches the rule's code" do
+ rule.matches_tags?(['FCTEST001']).must_equal true
+ end
+
+ it "doesn't match an unrelated code" do
+ rule.matches_tags?(['FCTEST999']).must_equal false
+ end
+ end
+
+ describe '#tags' do
+ it "returns any + the rule's code" do
+ rule.tags.must_equal ['any', 'FCTEST001']
+ end
+ end
+end
+
+describe FoodCritic::Warning do
+ let(:rule) { FoodCritic::Rule.new('FCTEST001', 'Test rule') }
+ let(:match_opts) { {:filename => 'foo/recipes.default.rb', :line => 5, :column=> 40} }
+
+ describe "failure indication" do
+ it 'is false if no fail_tags match' do
+ FoodCritic::Warning.new(rule, match_opts, {:fail_tags => []}).failed?.must_equal false
+ end
+
+ it 'is true if fail_tags do match' do
+ FoodCritic::Warning.new(rule, match_opts, {:fail_tags => ['any']}).failed?.must_equal true
end
end
end
diff --git a/spec/foodcritic/linter_spec.rb b/spec/foodcritic/linter_spec.rb
index 823bf75..cee39f3 100644
--- a/spec/foodcritic/linter_spec.rb
+++ b/spec/foodcritic/linter_spec.rb
@@ -7,10 +7,6 @@ describe FoodCritic::Linter do
it "is instantiable" do
linter.wont_be_nil
end
-
- it "raises if a cookbook path is not provided" do
- lambda {linter.check(nil, {})}.must_raise(ArgumentError)
- end
end
describe "chef version" do
@@ -20,29 +16,30 @@ describe FoodCritic::Linter do
end
describe "#check" do
- it "requires a cookbook_path to be provided" do
- lambda{ linter.check(nil, {}) }.must_raise ArgumentError
- end
-
- it "requires an array of cookbook paths not to be empty" do
- lambda{ linter.check([], {}) }.must_raise ArgumentError
- end
-
- it "accepts a scalar with a single cookbook path for backwards compatibility" do
- linter.check('.', {})
- end
- it "accepts an array of cookbook paths" do
- linter.check(['.'], {})
+ it "requires a cookbook_path, role_path or environment_path to be specified" do
+ lambda{ linter.check({}) }.must_raise ArgumentError
end
- it "returns a review" do
- linter.check(['.'], {}).must_respond_to(:warnings)
+ [:cookbook, :role, :environment].each do |path_type|
+ key = "#{path_type}_paths".to_sym
+ it "requires a #{path_type}_path by itself not to be nil" do
+ lambda{ linter.check(key => nil) }.must_raise ArgumentError
+ end
+ it "requires a #{path_type}_path by itself not to be empty" do
+ lambda{ linter.check(key => []) }.must_raise ArgumentError
+ end
+ it "accepts a scalar with a single #{path_type} path" do
+ linter.check(key => '.')
+ end
+ it "accepts an array of #{path_type} paths" do
+ linter.check(key => ['.'])
+ end
+ it "returns a review when a #{path_type} path is provided" do
+ linter.check(key => ['.']).must_respond_to(:warnings)
+ end
end
- it "does not require an empty hash of options" do
- linter.check(['.'])
- end
end
describe "#load_files!" do
diff --git a/spec/foodcritic/template_spec.rb b/spec/foodcritic/template_spec.rb
index 8a2b421..6ba3c01 100644
--- a/spec/foodcritic/template_spec.rb
+++ b/spec/foodcritic/template_spec.rb
@@ -16,7 +16,8 @@ describe FoodCritic::Template::ExpressionExtractor do
<% if true %>
Hello World!
<% end %>
- }).must_equal([{:type => :statement, :code => 'if true'}, {:type => :statement, :code => 'end'}])
+ }).must_equal([{:type => :statement, :code => 'if true', :line => 2},
+ {:type => :statement, :code => 'end', :line => 4}])
end
it "does not evaluate erb statements" do
extractor.extract(%q{
@@ -26,7 +27,7 @@ describe FoodCritic::Template::ExpressionExtractor do
it "extracts an expression from within the template" do
extractor.extract(%q{
<%= foo %>
- }).must_equal([{:type => :expression, :code => 'foo'}])
+ }).must_equal([{:type => :expression, :code => 'foo', :line => 2}])
end
it "does not evaluate erb expressions" do
extractor.extract(%q{
@@ -40,10 +41,13 @@ describe FoodCritic::Template::ExpressionExtractor do
URIEncoding="UTF-8"
redirectPort="<%= node["tomcat"]["ssl_port"] %>" />
}).must_equal([
- {:type => :expression, :code => 'node["tomcat"]["port"]'},
- {:type => :expression, :code => 'node["tomcat"]["ssl_port"]'}
+ {:type => :expression, :code => 'node["tomcat"]["port"]', :line => 2},
+ {:type => :expression, :code => 'node["tomcat"]["ssl_port"]', :line => 5}
])
end
+ it "excludes comment-only expressions" do
+ extractor.extract('<%# A comment %>').must_be_empty
+ end
end
end
diff --git a/spec/regression/expected-output.txt b/spec/regression/expected-output.txt
index 66acaa4..a930012 100644
--- a/spec/regression/expected-output.txt
+++ b/spec/regression/expected-output.txt
@@ -1,5 +1,5 @@
FC002: Avoid string interpolation where not required: ./ant/resources/library.rb:29
-FC002: Avoid string interpolation where not required: ./application_php/templates/default/php.conf.erb:1
+FC002: Avoid string interpolation where not required: ./application_php/templates/default/php.conf.erb:3
FC002: Avoid string interpolation where not required: ./application_python/providers/gunicorn.rb:80
FC002: Avoid string interpolation where not required: ./ark/libraries/provider_ark.rb:247
FC002: Avoid string interpolation where not required: ./ark/libraries/provider_ark.rb:249
@@ -21,8 +21,8 @@ FC002: Avoid string interpolation where not required: ./pacman/providers/aur.rb:
FC002: Avoid string interpolation where not required: ./pacman/providers/aur.rb:31
FC002: Avoid string interpolation where not required: ./pacman/providers/aur.rb:72
FC002: Avoid string interpolation where not required: ./pacman/providers/aur.rb:90
-FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:1
-FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/web_app.conf.erb:1
+FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:3
+FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/web_app.conf.erb:3
FC002: Avoid string interpolation where not required: ./perl/recipes/default.rb:37
FC002: Avoid string interpolation where not required: ./perl/recipes/default.rb:43
FC002: Avoid string interpolation where not required: ./pxe_dust/recipes/bootstrap_template.rb:89
@@ -35,7 +35,7 @@ FC002: Avoid string interpolation where not required: ./python/providers/virtual
FC002: Avoid string interpolation where not required: ./python/providers/virtualenv.rb:64
FC002: Avoid string interpolation where not required: ./radiant/recipes/default.rb:57
FC002: Avoid string interpolation where not required: ./radiant/recipes/default.rb:61
-FC002: Avoid string interpolation where not required: ./radiant/templates/default/radiant.conf.erb:1
+FC002: Avoid string interpolation where not required: ./radiant/templates/default/radiant.conf.erb:3
FC002: Avoid string interpolation where not required: ./rsyslog/recipes/default.rb:24
FC002: Avoid string interpolation where not required: ./rsyslog/recipes/default.rb:63
FC002: Avoid string interpolation where not required: ./sbuild/definitions/sbuild_lv.rb:30
@@ -45,7 +45,7 @@ FC002: Avoid string interpolation where not required: ./windows/libraries/window
FC002: Avoid string interpolation where not required: ./windows/libraries/windows_privileged.rb:56
FC002: Avoid string interpolation where not required: ./wordpress/recipes/default.rb:66
FC002: Avoid string interpolation where not required: ./wordpress/recipes/default.rb:148
-FC002: Avoid string interpolation where not required: ./wordpress/templates/default/wordpress.conf.erb:1
+FC002: Avoid string interpolation where not required: ./wordpress/templates/default/wordpress.conf.erb:3
FC002: Avoid string interpolation where not required: ./zenoss/providers/zendmd.rb:4
FC002: Avoid string interpolation where not required: ./zenoss/recipes/server.rb:164
FC003: Check whether you are running with chef server before using server-specific features: ./application/libraries/default.rb:97
@@ -146,57 +146,126 @@ FC016: LWRP does not declare a default action: ./zenoss/resources/zenbatchload.r
FC016: LWRP does not declare a default action: ./zenoss/resources/zendmd.rb:1
FC016: LWRP does not declare a default action: ./zenoss/resources/zenpack.rb:1
FC016: LWRP does not declare a default action: ./zenoss/resources/zenpatch.rb:1
-FC017: LWRP does not notify when updated: ./application/providers/default.rb:1
-FC017: LWRP does not notify when updated: ./application_java/providers/java_webapp.rb:1
-FC017: LWRP does not notify when updated: ./application_java/providers/tomcat.rb:1
-FC017: LWRP does not notify when updated: ./application_nginx/providers/nginx_load_balancer.rb:1
-FC017: LWRP does not notify when updated: ./application_php/providers/mod_php_apache2.rb:1
-FC017: LWRP does not notify when updated: ./application_php/providers/php.rb:1
-FC017: LWRP does not notify when updated: ./application_python/providers/celery.rb:1
-FC017: LWRP does not notify when updated: ./application_python/providers/django.rb:1
-FC017: LWRP does not notify when updated: ./application_python/providers/gunicorn.rb:1
-FC017: LWRP does not notify when updated: ./application_ruby/providers/memcached.rb:1
-FC017: LWRP does not notify when updated: ./application_ruby/providers/passenger_apache2.rb:1
-FC017: LWRP does not notify when updated: ./application_ruby/providers/rails.rb:1
-FC017: LWRP does not notify when updated: ./application_ruby/providers/unicorn.rb:1
-FC017: LWRP does not notify when updated: ./aws/providers/ebs_volume.rb:1
-FC017: LWRP does not notify when updated: ./aws/providers/elastic_ip.rb:1
-FC017: LWRP does not notify when updated: ./aws/providers/elastic_lb.rb:1
-FC017: LWRP does not notify when updated: ./aws/providers/resource_tag.rb:1
-FC017: LWRP does not notify when updated: ./chef_handler/providers/default.rb:1
-FC017: LWRP does not notify when updated: ./dmg/providers/package.rb:1
-FC017: LWRP does not notify when updated: ./heartbeat/providers/default.rb:1
-FC017: LWRP does not notify when updated: ./heartbeat/providers/null.rb:1
-FC017: LWRP does not notify when updated: ./homebrew/providers/tap.rb:1
-FC017: LWRP does not notify when updated: ./iis/providers/app.rb:1
-FC017: LWRP does not notify when updated: ./iis/providers/config.rb:1
-FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:1
-FC017: LWRP does not notify when updated: ./iis/providers/site.rb:1
-FC017: LWRP does not notify when updated: ./java/providers/ark.rb:1
-FC017: LWRP does not notify when updated: ./lvm/providers/physical_volume.rb:1
-FC017: LWRP does not notify when updated: ./pacman/providers/aur.rb:1
-FC017: LWRP does not notify when updated: ./php/providers/pear.rb:1
-FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:1
-FC017: LWRP does not notify when updated: ./powershell/providers/default.rb:1
-FC017: LWRP does not notify when updated: ./python/providers/pip.rb:1
-FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:1
-FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:1
-FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:1
-FC017: LWRP does not notify when updated: ./webpi/providers/product.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/auto_run.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/batch.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/feature_dism.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/feature_servermanagercmd.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/package.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/pagefile.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/path.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/reboot.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/shortcut.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/task.rb:1
-FC017: LWRP does not notify when updated: ./windows/providers/zipfile.rb:1
-FC017: LWRP does not notify when updated: ./zenoss/providers/zenbatchload.rb:1
-FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:1
+FC017: LWRP does not notify when updated: ./application/providers/default.rb:23
+FC017: LWRP does not notify when updated: ./application/providers/default.rb:33
+FC017: LWRP does not notify when updated: ./application/providers/default.rb:43
+FC017: LWRP does not notify when updated: ./application_java/providers/java_webapp.rb:25
+FC017: LWRP does not notify when updated: ./application_java/providers/tomcat.rb:22
+FC017: LWRP does not notify when updated: ./application_java/providers/tomcat.rb:34
+FC017: LWRP does not notify when updated: ./application_nginx/providers/nginx_load_balancer.rb:23
+FC017: LWRP does not notify when updated: ./application_nginx/providers/nginx_load_balancer.rb:37
+FC017: LWRP does not notify when updated: ./application_php/providers/mod_php_apache2.rb:22
+FC017: LWRP does not notify when updated: ./application_php/providers/mod_php_apache2.rb:46
+FC017: LWRP does not notify when updated: ./application_php/providers/php.rb:22
+FC017: LWRP does not notify when updated: ./application_php/providers/php.rb:31
+FC017: LWRP does not notify when updated: ./application_python/providers/celery.rb:23
+FC017: LWRP does not notify when updated: ./application_python/providers/celery.rb:50
+FC017: LWRP does not notify when updated: ./application_python/providers/django.rb:25
+FC017: LWRP does not notify when updated: ./application_python/providers/django.rb:36
+FC017: LWRP does not notify when updated: ./application_python/providers/django.rb:44
+FC017: LWRP does not notify when updated: ./application_python/providers/django.rb:70
+FC017: LWRP does not notify when updated: ./application_python/providers/gunicorn.rb:25
+FC017: LWRP does not notify when updated: ./application_python/providers/gunicorn.rb:46
+FC017: LWRP does not notify when updated: ./application_python/providers/gunicorn.rb:91
+FC017: LWRP does not notify when updated: ./application_ruby/providers/memcached.rb:20
+FC017: LWRP does not notify when updated: ./application_ruby/providers/memcached.rb:26
+FC017: LWRP does not notify when updated: ./application_ruby/providers/passenger_apache2.rb:22
+FC017: LWRP does not notify when updated: ./application_ruby/providers/passenger_apache2.rb:40
+FC017: LWRP does not notify when updated: ./application_ruby/providers/rails.rb:21
+FC017: LWRP does not notify when updated: ./application_ruby/providers/rails.rb:44
+FC017: LWRP does not notify when updated: ./application_ruby/providers/rails.rb:54
+FC017: LWRP does not notify when updated: ./application_ruby/providers/rails.rb:108
+FC017: LWRP does not notify when updated: ./application_ruby/providers/unicorn.rb:23
+FC017: LWRP does not notify when updated: ./application_ruby/providers/unicorn.rb:54
+FC017: LWRP does not notify when updated: ./apt/providers/repository.rb:124
+FC017: LWRP does not notify when updated: ./cron/providers/d.rb:1
+FC017: LWRP does not notify when updated: ./dmg/providers/package.rb:27
+FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:23
+FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:27
+FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:31
+FC017: LWRP does not notify when updated: ./heartbeat/providers/default.rb:20
+FC017: LWRP does not notify when updated: ./homebrew/providers/tap.rb:13
+FC017: LWRP does not notify when updated: ./homebrew/providers/tap.rb:21
+FC017: LWRP does not notify when updated: ./iis/providers/app.rb:26
+FC017: LWRP does not notify when updated: ./iis/providers/app.rb:40
+FC017: LWRP does not notify when updated: ./iis/providers/app.rb:57
+FC017: LWRP does not notify when updated: ./iis/providers/config.rb:27
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:27
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:41
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:68
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:78
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:88
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:98
+FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:106
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:26
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:50
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:84
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:94
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:104
+FC017: LWRP does not notify when updated: ./iis/providers/site.rb:114
+FC017: LWRP does not notify when updated: ./lvm/providers/physical_volume.rb:6
+FC017: LWRP does not notify when updated: ./maven/providers/default.rb:61
+FC017: LWRP does not notify when updated: ./maven/providers/default.rb:65
+FC017: LWRP does not notify when updated: ./pacman/providers/aur.rb:24
+FC017: LWRP does not notify when updated: ./pacman/providers/aur.rb:98
+FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:31
+FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:40
+FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:69
+FC017: LWRP does not notify when updated: ./powershell/providers/default.rb:19
+FC017: LWRP does not notify when updated: ./rsync/providers/serve.rb:65
+FC017: LWRP does not notify when updated: ./rsync/providers/serve.rb:69
+FC017: LWRP does not notify when updated: ./sudo/providers/default.rb:102
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:21
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:38
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:50
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:56
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:62
+FC017: LWRP does not notify when updated: ./supervisor/providers/fcgi.rb:68
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:21
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:38
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:50
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:56
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:62
+FC017: LWRP does not notify when updated: ./supervisor/providers/group.rb:68
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:21
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:38
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:50
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:56
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:62
+FC017: LWRP does not notify when updated: ./supervisor/providers/service.rb:68
+FC017: LWRP does not notify when updated: ./webpi/providers/product.rb:26
+FC017: LWRP does not notify when updated: ./windows/providers/auto_run.rb:21
+FC017: LWRP does not notify when updated: ./windows/providers/auto_run.rb:27
+FC017: LWRP does not notify when updated: ./windows/providers/batch.rb:24
+FC017: LWRP does not notify when updated: ./windows/providers/package.rb:35
+FC017: LWRP does not notify when updated: ./windows/providers/package.rb:53
+FC017: LWRP does not notify when updated: ./windows/providers/package.rb:64
+FC017: LWRP does not notify when updated: ./windows/providers/pagefile.rb:24
+FC017: LWRP does not notify when updated: ./windows/providers/pagefile.rb:66
+FC017: LWRP does not notify when updated: ./windows/providers/path.rb:21
+FC017: LWRP does not notify when updated: ./windows/providers/path.rb:29
+FC017: LWRP does not notify when updated: ./windows/providers/reboot.rb:21
+FC017: LWRP does not notify when updated: ./windows/providers/reboot.rb:27
+FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:27
+FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:31
+FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:35
+FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:61
+FC017: LWRP does not notify when updated: ./windows/providers/task.rb:24
+FC017: LWRP does not notify when updated: ./windows/providers/task.rb:43
+FC017: LWRP does not notify when updated: ./windows/providers/task.rb:58
+FC017: LWRP does not notify when updated: ./windows/providers/task.rb:75
+FC017: LWRP does not notify when updated: ./windows/providers/zipfile.rb:27
+FC017: LWRP does not notify when updated: ./windows/providers/zipfile.rb:44
+FC017: LWRP does not notify when updated: ./yum/providers/key.rb:25
+FC017: LWRP does not notify when updated: ./yum/providers/repository.rb:28
+FC017: LWRP does not notify when updated: ./yum/providers/repository.rb:45
+FC017: LWRP does not notify when updated: ./zenoss/providers/zenbatchload.rb:2
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:2
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:33
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:63
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:77
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:88
+FC017: LWRP does not notify when updated: ./zenoss/providers/zendmd.rb:97
FC017: LWRP does not notify when updated: ./zenoss/providers/zenpatch.rb:1
FC018: LWRP uses deprecated notification syntax: ./pacman/providers/aur.rb:94
FC018: LWRP uses deprecated notification syntax: ./pacman/providers/aur.rb:104
@@ -277,9 +346,6 @@ FC019: Access node attributes in a consistent manner: runit/definitions/runit_se
FC019: Access node attributes in a consistent manner: trac/recipes/default.rb:53
FC019: Access node attributes in a consistent manner: ufw/attributes/default.rb:1
FC019: Access node attributes in a consistent manner: ufw/attributes/default.rb:2
-FC019: Access node attributes in a consistent manner: windows/providers/reboot.rb:22
-FC019: Access node attributes in a consistent manner: windows/providers/reboot.rb:23
-FC019: Access node attributes in a consistent manner: windows/providers/reboot.rb:24
FC019: Access node attributes in a consistent manner: zenoss/attributes/default.rb:33
FC019: Access node attributes in a consistent manner: zenoss/recipes/server.rb:62
FC019: Access node attributes in a consistent manner: zenoss/recipes/server.rb:86
@@ -332,7 +398,6 @@ FC034: Unused template variables: ./horizon/templates/default/local_settings.py.
FC034: Unused template variables: ./nginx/templates/default/nginx.init.erb:1
FC034: Unused template variables: ./nova/templates/default/libvirtd.conf.erb:1
FC034: Unused template variables: ./sbuild/templates/default/mk_chroot.sh.erb:1
-FC037: Invalid notification action: ./wordpress/recipes/default.rb:125
FC041: Execute resource used to run curl or wget commands: ./hadoop/recipes/default.rb:33
FC042: Prefer include_recipe to require_recipe: ./postfix/recipes/aliases.rb:17
FC043: Prefer new notification syntax: ./apache2/definitions/apache_module.rb:20
@@ -441,3 +506,17 @@ FC043: Prefer new notification syntax: ./zenoss/recipes/server.rb:155
FC043: Prefer new notification syntax: ./zenoss/recipes/server.rb:164
FC044: Avoid bare attribute keys: ./resolver/attributes/default.rb:20
FC045: Consider setting cookbook name in metadata: ./maven/metadata.rb:1
+FC047: Attribute assignment does not specify precedence: ./jetty/recipes/cargo.rb:35
+FC047: Attribute assignment does not specify precedence: ./munin/recipes/server_apache.rb:1
+FC047: Attribute assignment does not specify precedence: ./python/recipes/package.rb:28
+FC047: Attribute assignment does not specify precedence: ./users/providers/manage.rb:55
+FC048: Prefer Mixlib::ShellOut: ./apt/providers/repository.rb:26
+FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/cron.rb:38
+FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/delete_validation.rb:20
+FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/service.rb:52
+FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/task.rb:42
+FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:44
+FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:47
+FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:76
+FC048: Prefer Mixlib::ShellOut: ./nginx/recipes/passenger.rb:20
+FC048: Prefer Mixlib::ShellOut: ./windows/providers/task.rb:106
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/foodcritic.git
More information about the Pkg-ruby-extras-commits
mailing list