Method not available on this version
This method is only available on newer versions.
The first available version (v2_6_3 ) is shown here.
gsub_file (path, flag, *args, &block)
public
Run a regular expression replacement on a file.
Parameters
path
path of the file to be changed
flag<Regexp|String>
the regexp or string to be replaced
replacement
the replacement, can be also given as a block
config
give :verbose => false to not log the status.
Example
gsub_file ' app/controllers/application_controller.rb ', / #\s *(filter_parameter_logging :password) /, ' \1 '
gsub_file ' README ', / rake /, :green do | match |
match << " no more. Use thor! "
end
Show source # File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 255
def gsub_file(path, flag, *args, &block)
return unless behavior == :invoke
config = args.last.is_a?(Hash) ? args.pop : {}
path = File.expand_path(path, destination_root)
say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true)
unless options[:pretend]
content = File.binread(path)
content.gsub!(flag, *args, &block)
File.open(path, "wb") { |file| file.write(content) }
end
end