virtus
virtus copied to clipboard
strict: true when attribute is being set.
trafficstars
How is this achieved when setting strict mode on?
Let's say I have a sample class:
class Banana
include Virtus.model
attribute :origin, Country
attribute :source, SourcesVendor
end
I only want to enforce coercion when an attribute is set either on initialize or during an instance.
How would this be achieved with Virtus?
Is this currently possible or would this be a feature we need to request?
I don't really see the use case for this?
I know you can set strict per attribute
class Banana
include Virtus.model
attribute :origin, Country, strict: true
attribute :source, SourcesVendor
end
but not sure why you would want
Banana.new(:origin => 'country')`
but not
b = Banana.new
b.origin = 'country'
or vice versa to fail