Вы хотите выполнить эту инициализацию как можно раньше; в идеале, сразу после установки информации, от которой вы зависите. Я бы рекомендовал написать собственные методы установки для атрибутов, от которых зависят эти значения, и инициализировать их там.
Итак, что-то вроде:
def value1=(new_value1)
self["value1"] = new_value1
self.color = new_value1
end
В качестве альтернативы, если эти значения можно напрямую рассчитать из зависимых переменных, гораздо лучше просто использовать обычный метод.
def color
return self.value1
end