Class: Decidim::Cdtb::Upgrades::ValidateMigrationsTask
- Inherits:
-
Task
- Object
- Task
- Decidim::Cdtb::Upgrades::ValidateMigrationsTask
show all
- Defined in:
- lib/decidim/cdtb/upgrades/validate_migrations_task.rb
Overview
Validates that all Decidim modules have the migrations installed.
Constant Summary
collapse
- STEPS_IN_DO_EXECUTION =
2
Instance Attribute Summary
Attributes inherited from Task
#num_applied, #title
Instance Method Summary
collapse
Methods inherited from Task
#execute!, #finish, #init
Methods included from TasksUtils
#do_log_error, #do_log_info, #log_task_end, #log_task_failure, #log_task_info, #log_task_step, #log_task_title, #logger
Constructor Details
Returns a new instance of ValidateMigrationsTask.
13
14
15
16
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 13
def initialize
progress_bar= { title: "Modules" }
super("VALIDATE MODULES MIGRATIONS", progress_bar:)
end
|
Instance Method Details
#do_execution(context) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 36
def do_execution(context)
progress_bar= context[:progress_bar]
output= install_gem_migrations
progress_bar.increment
@pending_migrations= output.lines.select { |l| l.include?("Copied migration") }
progress_bar.increment
end
|
#end_execution(_ctx) ⇒ Object
48
49
50
51
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 48
def end_execution(_ctx)
log_task_step("#{@gem_names.size} gems validated")
log_task_failure(@pending_migrations.join("\n")) if pending_migrations?
end
|
#install_gem_migrations ⇒ Object
53
54
55
56
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 53
def install_gem_migrations
install_step= InstallGemMigrationsStep.new
install_step.install!(@gem_names)
end
|
#pending_migrations? ⇒ Boolean
32
33
34
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 32
def pending_migrations?
@pending_migrations.present?
end
|
#prepare_execution(_ctx) ⇒ Object
18
19
20
21
22
23
24
25
26
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 18
def prepare_execution(_ctx)
all_railties= Rails.application.migration_railties
railties_w_migrations= all_railties.select do |railtie|
railtie.respond_to?(:paths) && railtie.paths["db/migrate"].first.present?
end
@gem_names= railties_w_migrations.map(&:railtie_name)
log_task_info("Found #{@gem_names.size} gems with migrations. Validating.....")
end
|
#total_items ⇒ Object
28
29
30
|
# File 'lib/decidim/cdtb/upgrades/validate_migrations_task.rb', line 28
def total_items
STEPS_IN_DO_EXECUTION
end
|