Class: MasterDataTool::Import::Executor
- Inherits:
-
Object
- Object
- MasterDataTool::Import::Executor
- Defined in:
- lib/master_data_tool/import/executor.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(spec_config:, dry_run: true, verify: true, only_import_tables: [], except_import_tables: [], only_verify_tables: [], except_verify_tables: [], skip_no_change: true, silent: false, delete_all_ignore_foreign_key: false, override_identifier: nil, report_printer: nil) ⇒ Executor
constructor
A new instance of Executor.
Constructor Details
#initialize(spec_config:, dry_run: true, verify: true, only_import_tables: [], except_import_tables: [], only_verify_tables: [], except_verify_tables: [], skip_no_change: true, silent: false, delete_all_ignore_foreign_key: false, override_identifier: nil, report_printer: nil) ⇒ Executor
Returns a new instance of Executor.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/master_data_tool/import/executor.rb', line 6 def initialize(spec_config:, dry_run: true, verify: true, only_import_tables: [], except_import_tables: [], only_verify_tables: [], except_verify_tables: [], skip_no_change: true, silent: false, delete_all_ignore_foreign_key: false, override_identifier: nil, report_printer: nil) @spec_config = spec_config @dry_run = dry_run @verify = verify @only_import_tables = Array(only_import_tables) @except_import_tables = Array(except_import_tables) @only_verify_tables = Array(only_verify_tables) @except_verify_tables = Array(except_verify_tables) @skip_no_change = skip_no_change @silent = silent @delete_all_ignore_foreign_key = delete_all_ignore_foreign_key @override_identifier = override_identifier @report_printer = report_printer || MasterDataTool::Report::DefaultPrinter.new(spec_config) @report_printer.silent = silent @master_data_statuses = [] end |
Instance Method Details
#execute ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/master_data_tool/import/executor.rb', line 35 def execute spec_config.application_record_class.transaction do MasterDataTool::MasterDataStatus.transaction do load_master_data_statuses master_data_collection = build_master_data_collection import_all!(master_data_collection) verify_all!(master_data_collection) if verify save_master_data_statuses!(master_data_collection) print_affected_tables(master_data_collection) raise DryRunError if dry_run master_data_collection end end rescue DryRunError puts "[DryRun] end" end |