Comment Comment by poorman I've used contracts any time this type of thing was necessary. https://github.com/egonSchiele/contracts.ruby parent poorman 7 years ago