Back to Blog

Rails 5.2 specifying default value for class_attribute

on February 21, 2018
This blog is part of our Rails 5.2 series.

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.

1class ActivityLogger
2class_attribute :logger
3class_attribute :settings
5self.logger =
6self.settings = {}

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.

1class ActivityLogger
2class_attribute :logger, default:
3class_attribute :settings, default: {}

This enhancement was introduced in this pull request.

You might also like

If you liked this blog post, check out similar ones from BigBinary