Method: FileUtils.install
- Defined in:
- lib/fileutils.rb
.install(src, dest, options = {}) ⇒ Object
Options: mode preserve noop verbose
If src is not same as dest, copies it and changes the permission mode to mode. If dest is a directory, destination is dest/src. This method removes destination before copy.
FileUtils.install 'ruby', '/usr/local/bin/ruby', :mode => 0755, :verbose => true
FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose => true
855 856 857 858 859 860 861 862 863 864 865 866 867 868 |
# File 'lib/fileutils.rb', line 855 def install(src, dest, = {}) , OPT_TABLE['install'] "install -c#{[:preserve] && ' -p'}#{[:mode] ? (' -m 0%o' % [:mode]) : ''} #{[src,dest].flatten.join ' '}" if [:verbose] return if [:noop] fu_each_src_dest(src, dest) do |s, d| st = File.stat(s) unless File.exist?(d) and compare_file(s, d) remove_file d, true copy_file s, d File.utime st.atime, st.mtime, d if [:preserve] File.chmod [:mode], d if [:mode] end end end |