Ruby on rails 有没有像Clojure';验证数据结构的模式?

Ruby on rails 有没有像Clojure';验证数据结构的模式?,ruby-on-rails,ruby,clojure,Ruby On Rails,Ruby,Clojure,我非常喜欢验证数据结构。然而,我发现自己现在正在使用Ruby,我正在尝试从YAML或JSON生成一组模型,以便在Rails应用程序中进行测试。我需要确保来自YAML/JSON的数据在语义上是正确的,例如hashmap中的某些值必须是布尔值、字符串或字符串数组等 我正在使用的数据示例(以Ruby表示法): @@data=[ {名称:“美国”, 州:[“纽约”、“新泽西”、“德克萨斯”], 默认税:false}, {名称:“美国远程”, 州:[“阿拉斯加”、“夏威夷”], 默认_tax:true}

我非常喜欢验证数据结构。然而,我发现自己现在正在使用Ruby,我正在尝试从YAML或JSON生成一组模型,以便在Rails应用程序中进行测试。我需要确保来自YAML/JSON的数据在语义上是正确的,例如hashmap中的某些值必须是布尔值、字符串或字符串数组等

我正在使用的数据示例(以Ruby表示法):

@@data=[
{名称:“美国”,
州:[“纽约”、“新泽西”、“德克萨斯”],
默认税:false},
{名称:“美国远程”,
州:[“阿拉斯加”、“夏威夷”],
默认_tax:true}
]

最好的Ruby风格的方法是什么?有人能推荐一个类似于Schema的库吗?

经过一些研究,它看起来是最好的

用法是直截了当的。将github repo中的示例改编为我的上述数据:

#验证哈希
验证=
名称:“字符串”,
状态:“数组”,
默认税:“布尔”
}
validator=HashValidator.validate(@@data[1],validations)
验证器有效吗?
#=>正确