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 32 33 34 |
# File 'lib/berkshelf/validator.rb', line 23 def validate_files(cookbooks) Array(cookbooks).each do |cookbook| path = cookbook.path.to_s files = Dir.glob(File.join(path, '**', '*.rb')).select do |f| parent = Pathname.new(path).dirname.to_s f.gsub(parent, '') =~ /[[:space:]]/ end raise InvalidCookbookFiles.new(cookbook, files) unless files.empty? end end |