BigBinary Blog
We write about Ruby on Rails, React.js, React Native, remote work, open source, engineering and design.
It is very common to set a default value
for a class_attribute
.
Before Rails 5.2,
to specify a default value for a class_attribute
,
we needed to write like this.
class ActivityLogger
class_attribute :logger
class_attribute :settings
self.logger = Logger.new(STDOUT)
self.settings = {}
end
As we can see above,
it requires additional keystrokes
to set a default value for
each class_attribute
.
Rails 5.2 has added support
for specifying a default value
for a class_attribute
using default
option.
class ActivityLogger
class_attribute :logger, default: Logger.new(STDOUT)
class_attribute :settings, default: {}
end
This enhancement was introduced in this pull request.