I'm a strong advocate for this and to an even larger extend some of the improvements that Trailblazer project have introduced.
Reform, a component of Trailblazer, uses virtus for coercion and Dry::Validation methodologies described.
it's worth a look for anyone who found this post enlightening.