class Hashie::Dash

def required?(property)

def required?(property)
  return false unless self.class.required?(property)
  condition = self.class.required_properties[property][:condition]
  case condition
  when Proc   then !!(instance_exec(&condition))
  when Symbol then !!(send(condition))
  else             !!(condition)
  end
end