summaryrefslogtreecommitdiff
path: root/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb')
-rw-r--r--lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb b/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb
index cc29db05a8..afdbd53dd0 100644
--- a/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb
+++ b/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb
@@ -23,14 +23,14 @@ class Bundler::Thor
destination = args.first || source
source = File.expand_path(find_in_source_paths(source.to_s))
- create_file destination, nil, config do
+ resulting_destination = create_file destination, nil, config do
content = File.binread(source)
content = yield(content) if block
content
end
if config[:mode] == :preserve
mode = File.stat(source).mode
- chmod(destination, mode, config)
+ chmod(resulting_destination, mode, config)
end
end
@@ -80,14 +80,14 @@ class Bundler::Thor
config = args.last.is_a?(Hash) ? args.pop : {}
destination = args.first
- if source =~ %r{^https?\://}
+ render = if source =~ %r{^https?\://}
require "open-uri"
+ URI.send(:open, source) { |input| input.binmode.read }
else
source = File.expand_path(find_in_source_paths(source.to_s))
+ open(source) { |input| input.binmode.read }
end
- render = open(source) { |input| input.binmode.read }
-
destination ||= if block_given?
block.arity == 1 ? yield(render) : yield
else