diff options
Diffstat (limited to 'spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb')
m--------- | spec/dummy | 0 | ||||
-rw-r--r-- | spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb | 22 |
2 files changed, 22 insertions, 0 deletions
diff --git a/spec/dummy b/spec/dummy deleted file mode 160000 -Subproject 36f851b7d5eca685475eb3a232e1d8dabfb1653 diff --git a/spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb b/spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb new file mode 100644 index 0000000..9b6db2b --- /dev/null +++ b/spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb @@ -0,0 +1,22 @@ +class RemoveDuplicateUserImageSizesSetting < ActiveRecord::Migration + def self.up + if (settings = ::Refinery::Setting.where(:name => :user_image_sizes)).count > 1 + default_value = { :small => '110x110>', :medium => '225x255>', :large => '450x450>' } + + if (non_default_setting = settings.detect { |setting| setting[:value] != default_value }) + settings.detect { |setting| setting[:value] == default_value }.destroy + non_default_setting[:destroyable] = false + non_default_setting.save + else + settings.detect { |setting| setting[:destroyable] == true }.destroy + end + say "Removed duplicate user image sizes settings" + else + say "Nothing done, no duplicate settings found" + end + end + + def self.down + # there is no step down ... + end +end |