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?