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