Implement `file_contains' condition keyword

This commit is contained in:
Thibault Jouan
2014-01-23 16:37:19 +00:00
parent 05331d334d
commit a0482d175c
7 changed files with 100 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ require 'producer/core/actions/file_writer'
# condition tests (need to be defined before the condition DSL)
require 'producer/core/test'
require 'producer/core/tests/file_contains'
require 'producer/core/tests/has_dir'
require 'producer/core/tests/has_env'
require 'producer/core/tests/has_file'

View File

@@ -13,9 +13,10 @@ module Producer
end
end
define_test :has_env, Tests::HasEnv
define_test :has_dir, Tests::HasDir
define_test :has_file, Tests::HasFile
define_test :file_contains, Tests::FileContains
define_test :has_env, Tests::HasEnv
define_test :has_dir, Tests::HasDir
define_test :has_file, Tests::HasFile
attr_reader :block, :env, :tests

View File

@@ -0,0 +1,18 @@
module Producer
module Core
module Tests
class FileContains < Test
def verify
content = file_content
content ? content.include?(arguments[1]) : false
end
private
def file_content
fs.file_read(arguments[0])
end
end
end
end
end