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'
Public Class Methods
Source
# File lib/hashie/extensions/dash/predefined_values.rb, line 18 def self.included(base) base.instance_variable_set(:@values_for_properties, {}) base.extend(ClassMethods) base.include(InstanceMethods) end