Class: DatabaseWizard
- Inherits:
-
Object
- Object
- DatabaseWizard
- Defined in:
- lib/berl/database_wizard.rb
Overview
Service to setup databases
Instance Attribute Summary collapse
-
#databases ⇒ Object
readonly
Returns the value of attribute databases.
Instance Method Summary collapse
-
#initialize(debug = false) ⇒ DatabaseWizard
constructor
A new instance of DatabaseWizard.
- #initialize_num_of_databases(num_of_databases, db_conn_str_tpl) ⇒ Object
Constructor Details
#initialize(debug = false) ⇒ DatabaseWizard
Returns a new instance of DatabaseWizard.
10 11 12 13 14 |
# File 'lib/berl/database_wizard.rb', line 10 def initialize(debug = false) @databases = [] @num_of_set_up_databases = 0 @debug = debug end |
Instance Attribute Details
#databases ⇒ Object (readonly)
Returns the value of attribute databases.
8 9 10 |
# File 'lib/berl/database_wizard.rb', line 8 def databases @databases end |
Instance Method Details
#initialize_num_of_databases(num_of_databases, db_conn_str_tpl) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/berl/database_wizard.rb', line 16 def initialize_num_of_databases(num_of_databases, db_conn_str_tpl) Parallel.each(1..num_of_databases, in_threads: num_of_databases, finish: method(:handle_finish)) do |i| database_connection_string = sprintf(db_conn_str_tpl, i) setup_db_cmd = build_setup_db_cmd(database_connection_string) puts "[DEBUG] command: #{setup_db_cmd}" if @debug Open3.popen3(setup_db_cmd) do |stdin, stdout, stderr, wait_thr| result = {} result['status'] = wait_thr.value == 0 ? 'success' : 'fail' result['output'] = [] result['output'].push(*stdout.readlines) result['output'].push(*stderr.readlines) result['database_connection_string'] = database_connection_string stdout.readlines.each { |line| puts line } if @debug result end end end |