Method: FileUtils2#install
- Defined in:
- lib/fileutils2.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
934 935 936 937 938 939 940 941 942 943 944 945 946 |
# File 'lib/fileutils2.rb', line 934 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| 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 |