Class: EY::Backup::Runner
- Inherits:
-
Object
- Object
- EY::Backup::Runner
- Defined in:
- lib/ey_backup.rb
Instance Method Summary collapse
- #database_names ⇒ Object
-
#databases ⇒ Object
END COMMANDS.
- #dispatch ⇒ Object
- #download ⇒ Object
-
#initialize(options) ⇒ Runner
constructor
A new instance of Runner.
- #list ⇒ Object
-
#new_backup ⇒ Object
COMMANDS.
- #restore ⇒ Object
- #run ⇒ Object
- #setup ⇒ Object
- #setup_backend ⇒ Object
- #setup_engine ⇒ Object
- #setup_logger ⇒ Object
- #setup_tmp_dir ⇒ Object
Constructor Details
#initialize(options) ⇒ Runner
Returns a new instance of Runner.
24 25 26 |
# File 'lib/ey_backup.rb', line 24 def initialize() @options = end |
Instance Method Details
#database_names ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/ey_backup.rb', line 63 def database_names if @options[:db].nil? || @options[:db].empty? @options[:databases] else [@options[:db]] end end |
#databases ⇒ Object
END COMMANDS
57 58 59 60 61 |
# File 'lib/ey_backup.rb', line 57 def databases @databases ||= database_names.map do |name| Database.new(@engine, EY::Backup.tmp_dir, @options[:keep], @backend, @options[:environment], name) end end |
#dispatch ⇒ Object
106 107 108 |
# File 'lib/ey_backup.rb', line 106 def dispatch send(@options[:command]) end |
#download ⇒ Object
49 50 51 52 53 |
# File 'lib/ey_backup.rb', line 49 def download databases.each do |database| Loader.download(database, @options[:index]) end end |
#new_backup ⇒ Object
COMMANDS
35 36 37 |
# File 'lib/ey_backup.rb', line 35 def new_backup Dumper.run(databases, @options[:split_size]) end |
#restore ⇒ Object
43 44 45 46 47 |
# File 'lib/ey_backup.rb', line 43 def restore databases.each do |database| Loader.run(database, @options[:index]) end end |
#run ⇒ Object
28 29 30 31 |
# File 'lib/ey_backup.rb', line 28 def run setup dispatch end |
#setup ⇒ Object
71 72 73 74 75 76 |
# File 'lib/ey_backup.rb', line 71 def setup setup_logger setup_tmp_dir setup_backend setup_engine end |
#setup_backend ⇒ Object
94 95 96 |
# File 'lib/ey_backup.rb', line 94 def setup_backend @backend = Backend.new(@options[:aws_secret_id], @options[:aws_secret_key], @options[:region], @options[:backup_bucket]) end |
#setup_engine ⇒ Object
98 99 100 101 102 103 104 |
# File 'lib/ey_backup.rb', line 98 def setup_engine engine_class = Engine.lookup(@options[:engine]) if ! @options.key?(:dbhost) or @options[:dbhost] == nil or @options[:dbhost] == "" @options[:dbhost] = 'localhost' end @engine = engine_class.new(@options[:dbuser], @options[:dbpass], @options[:dbhost], @options[:key_id]) end |