summaryrefslogtreecommitdiff
path: root/qa/qa/resource/repository/commit.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/repository/commit.rb')
-rw-r--r--qa/qa/resource/repository/commit.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/qa/qa/resource/repository/commit.rb b/qa/qa/resource/repository/commit.rb
index e3fb5bf486d..3243eacdb28 100644
--- a/qa/qa/resource/repository/commit.rb
+++ b/qa/qa/resource/repository/commit.rb
@@ -29,6 +29,30 @@ module QA
@add_files = files
end
+ def add_directory(dir)
+ raise "Must set directory as a Pathname" unless dir.is_a?(Pathname)
+
+ files_to_add = []
+
+ dir.each_child do |child|
+ case child.ftype?
+ when "file"
+ files_to_add.append({
+ file_path: child.to_s,
+ content: child.read
+ })
+ when "directory"
+ add_directory(child)
+ else
+ continue
+ end
+ end
+
+ validate_files!(files_to_add)
+
+ @add_files.merge(files_to_add)
+ end
+
def update_files(files)
validate_files!(files)