summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2016-02-24 00:37:08 -0800
committerelijah <elijah@riseup.net>2016-02-24 00:37:08 -0800
commit75fcdd7672036c7c0a11728a37ac9b17507b7a53 (patch)
tree04e2868300ada902663796e0b9a4f7217b5d3b8c
parente3f2f2f10a8dfc054ed752209d160c59f5efd6ac (diff)
ensure remote_file_path macro works when file is not present (resolves #7926)
-rw-r--r--lib/leap_cli/macros/files.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/leap_cli/macros/files.rb b/lib/leap_cli/macros/files.rb
index d3972485..04c94edf 100644
--- a/lib/leap_cli/macros/files.rb
+++ b/lib/leap_cli/macros/files.rb
@@ -17,13 +17,12 @@ module LeapCli
filepath = Path.find_file(filename)
if filepath
if filepath =~ /\.erb$/
- ERB.new(File.read(filepath, :encoding => 'UTF-8'), nil, '%<>').result(binding)
+ return ERB.new(File.read(filepath, :encoding => 'UTF-8'), nil, '%<>').result(binding)
else
- File.read(filepath, :encoding => 'UTF-8')
+ return File.read(filepath, :encoding => 'UTF-8')
end
else
raise FileMissing.new(Path.named_path(filename), options)
- ""
end
end
@@ -61,7 +60,7 @@ module LeapCli
return nil
end
else
- local_path
+ return local_path
end
end
@@ -70,6 +69,8 @@ module LeapCli
# remote server. An internal list of discovered file paths is saved, in
# order to rsync these files when needed.
#
+ # If the file does not exist, nil is returned.
+ #
# If there is a block given and the file does not actually exist, the
# block will be yielded to give an opportunity for some code to create the
# file.
@@ -91,6 +92,8 @@ module LeapCli
def remote_file_path(path, options={}, &block)
local_path = local_file_path(path, options, &block)
+ return nil if local_path.nil?
+
# if file is under Path.provider_base, we must copy the default file to
# to Path.provider in order for rsync to be able to sync the file.
if local_path =~ /^#{Regexp.escape(Path.provider_base)}/
@@ -109,12 +112,12 @@ module LeapCli
relative_path = Path.relative_path(local_path)
relative_path.sub!(/^files\//, '') # remove "files/" prefix
@node.file_paths << relative_path
- File.join(Leap::Platform.files_dir, relative_path)
+ return File.join(Leap::Platform.files_dir, relative_path)
end
# deprecated
def file_path(path, options={})
- remote_file_path(path, options)
+ return remote_file_path(path, options)
end
end