Last active
August 29, 2015 14:20
-
-
Save nicolasmarcal/e35f64c8bdd57c2106d1 to your computer and use it in GitHub Desktop.
Arruma data de pagamento da porto seguro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File.open("log/change_bill_at_of_membership_recurrency.log", "w") do |file| | |
Membership.transaction do | |
location = Location.find_by_acronym("POR") | |
membership_recurrencies = MembershipRecurrency.find(location.active_memberships.map(&:membership_recurrency_id).uniq).select{ |mr| mr.bill_day != 1 } | |
membership_recurrencies.each do |membership_recurrency| | |
membership = membership_recurrency.memberships.active.first | |
file.puts "#{membership.person.id};#{membership.person.name};" | |
old_bill_day = membership_recurrency.bill_day | |
changer = BillAtChanger.new(membership, 1) | |
if changer.change! | |
file.puts "Atualizando pagamentos do dia #{old_bill_day} para o dia 1. Próximo pagamento ocorre em #{I18n.l(changer.change_begins_at, :format => '%B')} Membership: #{membership.id} Pagamentos: #{changer.send(:payments_to_change).map(&:id)}" | |
else | |
file.puts "Não foi possível atualizar data de pagamento." | |
end | |
end | |
end | |
end |
americodls
commented
May 7, 2015
- Acho que é bom fazer log do id da membership ou do pagamento específico que foi mudado.
- Imagino que deixar tudo dentro de uma transaction pode ser ruim pela quantidade de operações dentro da transaction. Você testou localmente na própria Porto?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment