Sha256: cfcc38da0ee5bfdfb7a0dfe9a50ec7a18e65777c9000b4c6128a95618fbf6120
Contents?: true
Size: 949 Bytes
Versions: 6
Compression:
Stored size: 949 Bytes
Contents
module GhostAdapter class Command def initialize(alter:, table:, database: nil, dry_run: false) @alter = alter @table = table @database = GhostAdapter.config.database || database @dry_run = dry_run validate_args_and_config! end def to_a [ EXECUTABLE, *base_args, *GhostAdapter.config.as_args, *execute_arg ] end private EXECUTABLE = 'gh-ost'.freeze attr_reader :alter, :database, :table, :dry_run def validate_args_and_config! raise ArgumentError, 'alter cannot be nil' if alter.nil? raise ArgumentError, 'table cannot be nil' if table.nil? raise ArgumentError, 'database cannot be nil' if database.nil? end def base_args [ "--alter=#{alter}", "--table=#{table}", "--database=#{database}" ] end def execute_arg dry_run ? [] : ['--execute'] end end end
Version data entries
6 entries across 6 versions & 1 rubygems