module Hashie::Extensions::Dash::PredefinedValues::InstanceMethods
Public Class Methods
Source
# File lib/hashie/extensions/dash/predefined_values.rb, line 59 def initialize(*) super assert_property_values! end
Calls superclass method
Private Instance Methods
Source
# File lib/hashie/extensions/dash/predefined_values.rb, line 67 def assert_property_values! self.class.values_for_properties.each_key do |property| value = send(property) if value && !values_for_properties(property).include?(value) fail_property_value_error!(property) end end end
Source
# File lib/hashie/extensions/dash/predefined_values.rb, line 77 def fail_property_value_error!(property) raise ArgumentError, "Invalid value for property '#{property}'" end
Source
# File lib/hashie/extensions/dash/predefined_values.rb, line 81 def values_for_properties(property) self.class.values_for_properties[property] end