module Hashie::Extensions::Dash::PredefinedValues::InstanceMethods
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/hashie/extensions/dash/predefined_values.rb, line 59 def initialize(*) super assert_property_values! end
Private Instance Methods
assert_property_values!()
click to toggle 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
fail_property_value_error!(property)
click to toggle 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
values_for_properties(property)
click to toggle source
# File lib/hashie/extensions/dash/predefined_values.rb, line 81 def values_for_properties(property) self.class.values_for_properties[property] end