SmartProperties are a more flexible and feature-rich alternative to traditional Ruby accessors. They provide support for input conversion, input validation, specifying default values and presence checking.
Konstantin Tennhard
gem "smart_properties", "~> 1.2.1"