Если у нас есть некоторые константы внутри определения класса:
class Animal < ActiveRecord::Base
GROWTH_FACTOR = 2
...
end
верно ли, что иногда Animal::GROWTH_FACTOR
доступен для использования другим классом или ERB, таким как
class Plant < ActiveRecord::Base
GROWTH_FACTOR = Animal::GROWTH_FACTOR / 2.0
...
end
или
<%= Animal::GROWTH_FACTOR %>
но иногда нет? (так что это будет случайный сбой, в зависимости от того, будет ли сервер Rails повторно запускать определение класса Animal
для этого конкретного HTTP-запроса?) Действительно ли гарантировано, что GROWTH_FACTOR
будет использоваться только внутри собственного определения каждого класса? Что если мы хотим гарантировать, что он доступен, использовать ли он @@GROWTH_FACTOR
внутри класса, а затем использовать Animal.GROWTH_FACTOR
в любом месте кода?