Enforce - A DSL for verifying file/folder content
Create globally available DSL scripts to verify the existence of files in a folder, and the contents of these files.
Install
$ gem install enforce
Or with bundler:
gem 'enforce'
Example
Also see the example folder.
Usage
- Create a rules file containing any of the DSL commands below.
- Run
$ enforce <fules file name>
in the directory you want to test (without the.rb
extension)
Rules files are ruby scripts that are located either in the current directory
or in your home directory, under enforce
subdirectory (~/enforce/*.rb).
If you wish to place your rules files elsewhere, set the ENFORCE_HOME
environment variable.
DSL
File Commands
Verify that a file exists:
file 'filename'
Verify that a file exists, and has (or doesn't have) some content:
file 'filename' do
with 'any content'
with /any.regex/
without 'other content or regex'
with_line 'line to match, leading and trailing spaces are ignored'
without_line 'line to make sure is not in the file'
end
Verify that a file does not exist:
no_file 'filename'
Folder Commands
Verify that a folder exists:
folder 'dirname'
Verify that a folder exists, and run additional validations inside it:
folder 'dirname' do
file 'file-inside-dirname'
file 'another-file' do
with 'some content'
end
end