aboutsummaryrefslogblamecommitdiffstats
path: root/spec/dummy/db/migrate/20110117053357_remove_duplicate_user_image_sizes_setting.rb
blob: 9b6db2beb712b44acb84cb7f414a5c62b2830196 (plain) (tree)





















                                                                                               
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