class ShellCommand
Constants
- BASE_COMMAND
- DEFAULTS
- MANDATORY_KEYS
Public Class Methods
build!(options)
click to toggle source
# File lib/shell_command.rb, line 12 def self.build!(options) new(options).build end
new(options)
click to toggle source
# File lib/shell_command.rb, line 16 def initialize(options) @options = options.merge(DEFAULTS) @base_query = BASE_COMMAND % @options end
Public Instance Methods
build()
click to toggle source
# File lib/shell_command.rb, line 21 def build @options.each_pair do |key, value| next if MANDATORY_KEYS.include?(key) value = ENV[key.to_s] || value part = case key when :password "--password #{value} " when :pause_file "--pause-file=pause.txt " when :progress "--progress percentage,1 " when :max_load "--max-load Threads_running=#{value} " when :critical_load "--critical-load Threads_running=#{value} " when :innodb_lock_wait_timeout "--set-vars innodb_lock_wait_timeout=#{value} " else raise ArgumentError, "unknown option #{key}" end @base_query.insert(-1, part) end @base_query end