Class: Convergence::Command::Dryrun
- Inherits:
-
Convergence::Command
- Object
- Convergence::Command
- Convergence::Command::Dryrun
- Defined in:
- lib/convergence/command/dryrun.rb
Instance Method Summary collapse
- #execute ⇒ Object
- #output_diff(input_tables, current_tables) ⇒ Object
- #output_sql(input_tables, current_tables) ⇒ Object
- #validate! ⇒ Object
Methods inherited from Convergence::Command
#connector, #database_adapter, #dumper, #initialize, #logger, #sql_generator
Constructor Details
This class inherits a constructor from Convergence::Command
Instance Method Details
#execute ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/convergence/command/dryrun.rb', line 8 def execute validate! current_dir_path = Pathname.new(@opts[:input]).realpath.dirname input_tables = Convergence::DSL.parse(File.open(@opts[:input]).read, current_dir_path) current_tables = dumper.dump # -- maybe it's redundant output # output_diff(input_tables, current_tables) output_sql(input_tables, current_tables) end |
#output_diff(input_tables, current_tables) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/convergence/command/dryrun.rb', line 18 def output_diff(input_tables, current_tables) input_tables_without_default_parameter = Convergence::DefaultParameter.remove_database_default_parameter(input_tables, database_adapter) current_tables_without_default_parameter = Convergence::DefaultParameter.remove_database_default_parameter(current_tables, database_adapter) msg = Convergence::PrettyDiff .new(current_tables_without_default_parameter, input_tables_without_default_parameter) .output logger.output(msg) msg end |
#output_sql(input_tables, current_tables) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/convergence/command/dryrun.rb', line 31 def output_sql(input_tables, current_tables) msg = Convergence::Command::Apply .new(@opts, config: @config) .generate_sql(input_tables, current_tables) .split("\n") .map { |v| '# ' + v } .join("\n") logger.output(msg) msg end |
#validate! ⇒ Object
3 4 5 6 |
# File 'lib/convergence/command/dryrun.rb', line 3 def validate! fail ArgumentError.new('--config required') if @config.nil? fail ArgumentError.new('--input required') unless @opts[:input] end |