Files
grecia/lib/tasks/budgets.rake

35 lines
1.0 KiB
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
namespace :phases do
desc "Generates Phases for existing Budgets without them & migrates description_* attributes"
task generate_missing: :environment do
Budget.where.not(id: Budget::Phase.all.pluck(:budget_id).uniq.compact).each do |budget|
Budget::Phase::PHASE_KINDS.each do |phase|
Budget::Phase.create(
budget: budget,
kind: phase,
description: budget.send("description_#{phase}"),
prev_phase: budget.phases&.last,
starts_at: budget.phases&.last&.ends_at || Date.current,
ends_at: (budget.phases&.last&.ends_at || Date.current) + 1.month
)
end
end
end
end
end