From 548b315edf0a4005f54d0bb6153720524c1eef89 Mon Sep 17 00:00:00 2001 From: Fabio Teixeira Date: Mon, 7 Sep 2015 16:43:26 -0300 Subject: [PATCH] Add migration to add statictic block to all softwares --- db/migrate/20150907190532_add_statistic_block_to_all_softwares.rb | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+), 0 deletions(-) create mode 100644 db/migrate/20150907190532_add_statistic_block_to_all_softwares.rb diff --git a/db/migrate/20150907190532_add_statistic_block_to_all_softwares.rb b/db/migrate/20150907190532_add_statistic_block_to_all_softwares.rb new file mode 100644 index 0000000..4c4a3c7 --- /dev/null +++ b/db/migrate/20150907190532_add_statistic_block_to_all_softwares.rb @@ -0,0 +1,53 @@ +class AddStatisticBlockToAllSoftwares < ActiveRecord::Migration + def up + software_template = Community["software"] + + if software_template + software_area_two = software_template.boxes.find_by_position 2 + + statistic_block_template = StatisticBlock.new :mirror => true, :move_modes => "none", :edit_modes => "none" + statistic_block_template.settings[:fixed] = true + statistic_block_template.display = "home_page_only" + statistic_block_template.save! + print "." + + software_area_two.blocks << statistic_block_template + software_area_two.save! + print "." + + # Puts the ratings block as the last one on area one + first_block_position = software_area_two.blocks.order(:position).first.position + statistic_block_template.position = first_block_position + 1 + statistic_block_template.save! + print "." + end + + Community.joins(:software_info).each do |software_community| + software_area_two = software_community.boxes.find_by_position 2 + print "." + + statistic_block = StatisticBlock.new :move_modes => "none", :edit_modes => "none" + statistic_block.settings[:fixed] = true + statistic_block.display = "home_page_only" + statistic_block.mirror_block_id = statistic_block_template.id + statistic_block.save! + print "." + + software_area_two.blocks << statistic_block + software_area_two.save! + print "." + + # Puts the ratings block as the last one on area one + first_block_position = software_area_two.blocks.order(:position).first.position + statistic_block.position = first_block_position + 1 + statistic_block.save! + print "." + end + + puts "" + end + + def down + say "This can't be reverted" + end +end -- libgit2 0.21.2