module Hashie::Extensions::Dash::PredefinedValues

Extends a Dash with the ability to accept only predefined values on a property.

Example

class PersonHash < Hashie::Dash
  include Hashie::Extensions::Dash::PredefinedValues

  property :gender, values: [:male, :female, :prefer_not_to_say]
  property :age, values: (0..150) # a Range
end

person = PersonHash.new(gender: :male, age: -1)
# => ArgumentError: The value '-1' is not accepted for property 'age'