Module: Berkshelf::Validator
- Defined in:
- lib/berkshelf/validator.rb
Class Method Summary collapse
-
.validate(cookbooks) ⇒ Object
Perform a complete cookbook validation checking: * File names for inappropriate characters * Invalid Ruby syntax * Invalid ERB templates.
-
.validate_files(cookbooks) ⇒ Object
Validate that the given cookbook does not have “bad” files.
Class Method Details
.validate(cookbooks) ⇒ Object
Perform a complete cookbook validation checking:
* File names for inappropriate characters
* Invalid Ruby syntax
* Invalid ERB templates
11 12 13 14 15 16 |
# File 'lib/berkshelf/validator.rb', line 11 def validate(cookbooks) Array(cookbooks).each do |cookbook| validate_files(cookbook) cookbook.validate end end |
.validate_files(cookbooks) ⇒ Object
Validate that the given cookbook does not have “bad” files. Currently this means including spaces in filenames (such as recipes)
23 24 25 26 27 28 29 30 31 |
# File 'lib/berkshelf/validator.rb', line 23 def validate_files(cookbooks) Array(cookbooks).each do |cookbook| base, name = Pathname.new(cookbook.path.to_s).split files = Dir.glob("#{name}/**/*.rb", base: base.to_s).select { |f| f =~ /[[:space:]]/ } raise InvalidCookbookFiles.new(cookbook, files) unless files.empty? end end |