Constantes ou variáveis de classe em ruby?

Estou programando no Ruby há alguns meses e me pergunto quando é apropriado usar constantes sobre variáveis de classe e vice-versa. (Estou trabalhando no Rails, pensando em constantes em modelos).

class Category
  TYPES = %w(listing event business).freeze
end

OU

class Category
  @@types = %w(listing event business).freeze
  cattr_reader :types
end

Existem circunstâncias em que um é preferível a outro? Ou é apenas uma questão de gosto / estilo?

questionAnswers(5)

yourAnswerToTheQuestion