I'm working on CRM platform.

I would like my users to add, edit and delete custom fields in `Client`, `Contact` and `Lead` objects. Those fields may be plain textfield, list, checkbox, tag etc. Those fields may be required or not. Those fields may have custom validation (that user will define).

Say one company from financials would like to add income to `Client` object, another would add order configuration to `Lead` object.

Is there any "enterprise-level" solution (ROR gem) for my problem.

Of cause I know about [Custom configuration](http://guides.rubyonrails.org/configuring.html#custom-configuration) and [config gem](https://github.com/railsconfig/config), but it doesn't look extensible enough.