Note we're making the validation rule dynamic so it's affected by the way we stub the constant in the tests to emulate data created in old applications. Co-Authored-By: Javi Martín <javim@elretirao.net>
33 lines
921 B
Ruby
33 lines
921 B
Ruby
namespace :budgets do
|
|
namespace :email do
|
|
desc "Sends emails to authors of selected investments"
|
|
task selected: :environment do
|
|
Budget.last.email_selected
|
|
end
|
|
|
|
desc "Sends emails to authors of unselected investments"
|
|
task unselected: :environment do
|
|
Budget.last.email_unselected
|
|
end
|
|
end
|
|
|
|
desc "Set published attribute"
|
|
task set_published: :environment do
|
|
Budget.where(published: nil).each do |budget|
|
|
if budget.phase == "drafting"
|
|
if budget.phases.enabled.first.present?
|
|
next_enabled_phase = budget.phases.enabled.where.not(kind: "drafting").first.kind
|
|
else
|
|
next_enabled_phase = "informing"
|
|
budget.phases.informing.update!(enabled: true)
|
|
end
|
|
|
|
budget.update!(phase: next_enabled_phase)
|
|
budget.update!(published: false)
|
|
else
|
|
budget.update!(published: true)
|
|
end
|
|
end
|
|
end
|
|
end
|