我有一个 YAML 文件,它将一堆属性映射到一个类。我希望能够遍历我的 YAML 文件中的所有属性并将它们动态地设置在对象上。
我怎样才能做到这一点?
这是我到目前为止的要点:
YAML 内容:
my_obj:
:username: 'myuser'
:password: 'mypass'
...
红宝石:
settings = YAML::load_file SETTINGS_FILE
settings = settings['my_obj']
settings.each do |s|
#psuedo-code
#example: my_obj.username = settings[:username] if my_obj.has_property?(:username)
#my_obj.[s] = settings[:s] if my_obj.has_property?(:s)
end
我不确定这样做是否一定是最佳实践,但是有很多属性,我认为这比直接手动设置每个属性更干净。