Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Backup
- #==============================================================================
- # Author: Dax
- # Version: 3.0
- # Site: www.dax-soft.weebly.com
- # Requires: N/A
- #==============================================================================
- # • Description
- #------------------------------------------------------------------------------
- # Make a backup of all direction of your project.
- #==============================================================================
- # • How to use:
- #------------------------------------------------------------------------------
- # Backup.call | Make a backup just of the paste Data.
- # Backup.call(true) | Make a backup complete.
- #==============================================================================
- module Backup
- extend self
- #----------------------------------------------------------------------------
- # • Const.
- #----------------------------------------------------------------------------
- DIR = "./Backup"
- COPYFILE = ->(*args) { Win32API.new('kernel32', 'CopyFile', 'ppl', 'l').call(*args) }
- #----------------------------------------------------------------------------
- # • Call.
- #----------------------------------------------------------------------------
- def call(complete=false)
- return unless $TEST
- Dir.mkdir(DIR) unless FileTest.directory? DIR
- complete ? call_complete : call_data
- end
- private
- #----------------------------------------------------------------------------
- # • Call of the Data.
- #----------------------------------------------------------------------------
- def call_data
- Dir.mkdir(DIR + "/Data") unless FileTest.directory? DIR + "/Data"
- Dir.glob("./Data/*").each { |_data| COPYFILE[_data, DIR + _data, 1] }
- end
- #----------------------------------------------------------------------------
- # • Call Complete.
- #----------------------------------------------------------------------------
- def call_complete
- Dir.glob(File.join("**", "**")).each { |_backup|
- next if _backup.match(/Backup/im)
- _dir = FileTest.directory?(_backup) ? _backup : _backup.gsub!(/\/\.(\w+)/, "")
- Dir.mkdir(DIR + "/#{_dir}") unless FileTest.directory? DIR + "/#{_dir}"
- COPYFILE[_backup, DIR + "/" + _backup, 1]
- }
- end
- end
- Backup.call true
Advertisement
Add Comment
Please, Sign In to add comment