Class: Etailer::MysqlCleanerCloner
Instance Attribute Summary collapse
#enabled, #env, #options, #run_order
Instance Method Summary
collapse
#enabled?, #scp, #ssh, #vm
Instance Attribute Details
#vm_db_password ⇒ Object
Returns the value of attribute vm_db_password.
3
4
5
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 3
def vm_db_password
@vm_db_password
end
|
#vm_db_user ⇒ Object
Returns the value of attribute vm_db_user.
3
4
5
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 3
def vm_db_user
@vm_db_user
end
|
Instance Method Details
#call ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 26
def call
@scripts.each do |script|
info "Fetching script #{script}..."
basename = script.split("/").last
vm.execute "wget #{script} -P /tmp"
vm.execute "mysql #{mysql_connection_string} < /tmp/#{basename}"
end
end
|
#mysql_connection_string ⇒ Object
22
23
24
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 22
def mysql_connection_string
"-u#{vm_db_user} -p#{vm_db_password}"
end
|
#name ⇒ Object
5
6
7
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 5
def name
"mysqlcleaner"
end
|
#scripts ⇒ Object
9
10
11
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 9
def scripts
@scripts ||= []
end
|
#scripts=(scripts) ⇒ Object
13
14
15
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 13
def scripts=(scripts)
@scripts = Array(scripts).flatten
end
|
#validate!(env, errors) ⇒ Object
17
18
19
20
|
# File 'lib/vagrant-cloner/cloners/mysql_cleaner.rb', line 17
def validate!(env, errors)
errors.add("You have to specify at least one script to run!") if scripts.nil? || scripts.empty?
errors.add("You must specify a VM database user and password!") unless vm_db_user && vm_db_password
end
|