solnic / virtus

[DISCONTINUED ] Attributes on Steroids for Plain Old Ruby Objects
MIT License
3.77k stars 229 forks source link

Fix but in coerce when Rails 5 params are passed in #388

Open natesholland opened 6 years ago

natesholland commented 6 years ago

Since parameters in Rails 5 no longer sub class from Hash and blow up when you try to call to_hash on them when they are not permitted the coerce method in Virtus was no longer working. Since the hash here is not mass assigned but instead only permits known attributes it is safe to call .to_unsafe_hash if it is defined on the attributes. If not we fall back to the previous behavior.

This also adds specs to capture the bahavior I was seeing on Rails 5.

sea51930 commented 5 years ago

388