You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
scrum/db/migrate/20150809111300_rename_devia...

48 lines
1.8 KiB
Ruby

# Copyright © Emilio González Montaña
# Licence: Attribution & no derivatives
# * Attribution to the plugin web page URL should be done if you want to use it.
# https://redmine.ociotec.com/projects/redmine-plugin-scrum
# * No derivatives of this plugin (or partial) are allowed.
# Take a look to licence.txt file at plugin root folder for further details.
class RenameDeviationToSpeedSettings < ActiveRecord::Migration[4.2]
def self.up
change_speed_settings render_pbis_deviations: :render_pbis_speed,
render_tasks_deviations: :render_tasks_speed,
major_deviation_ratio: :lowest_speed,
minor_deviation_ratio: :low_speed,
below_deviation_ratio: :high_speed
end
def self.down
change_speed_settings render_pbis_speed: :render_pbis_deviations,
render_tasks_speed: :render_tasks_deviations,
lowest_speed: :major_deviation_ratio,
low_speed: :minor_deviation_ratio,
high_speed: :below_deviation_ratio
end
private
def self.change_speed_settings(settings)
if (plugin_settings = Setting.where(name: 'plugin_scrum').first)
if (values = plugin_settings.value)
settings.each_pair { |key, value|
change_speed_setting(values, key, value)
}
plugin_settings.value = values
plugin_settings.save!
end
end
end
def self.change_speed_setting(settings, old_setting, new_setting)
if settings[old_setting]
old_setting_value = settings[old_setting].to_i
if old_setting_value > 0
settings[new_setting] = (10000 / old_setting_value).to_s
settings.delete(old_setting)
end
end
end
end