草庐IT

ruamel.yaml

全部标签

ruby - YAML/ ruby : Get the first item whose <field> is <value>?

我有这个YAML:-company:-id:toyota-fullname:トヨタ自動車株式会社-company:-id:konami-fullname:KonamiCorporation而且我想获取ID为konami的公司的全名。使用Ruby1.9.2,最简单/常用的获取方式是什么?注意:在我的其余代码中,我一直在使用require"yaml",所以我更愿意使用相同的库。 最佳答案 这也行,但不使用迭代:y=YAML.load_file('japanese_companies.yml')result=y.select{|x|x['

ruby - 如何在没有类型映射的情况下在ruby中解析yaml

我想从yaml(PHPMyAdmin)中的Mysql转储中获取数据,但数据没有被引号括起来。我有可以从0开始的邮政编码,解析后我得到八进制值的十进制版本,而不是简单的字符串。我怎样才能强制Yaml解析器不进行自动映射,或者只获取所有字符串数据?谢谢==更新==2185:id:3274civility:Mraddress:CROIXDESCOMBESzipcode:04270 最佳答案 如果您的邮政编码值是字符串,它们可能应该在数据库中,并且它们被正确转换为YAML,那么它们将被Ruby的YAML解析器重新转换回字符串:require

ruby - 由于初始化程序 Yaml 文件,Rspec 测试未运行

我正在将带有Rspec的测试集成到一个相当大的/已开发的应用程序中。当我运行测试时,我的一些初始化程序出现了非常奇怪的错误。例如,我的carrierwave.rb加载了一个yaml文件,当我运行测试命令时,我得到:carrierwave.rb:11:in`blockin':undefinedmethod`[]'fornil:NilClass指的是下面第二行代码:fog_config=YAML::load_file(Rails.root.join'config/fog.yml')[Rails.env.to_s]config.fog_directory=fog_config['direct

ruby - 为什么文本 "2e8"在 Mac 上被 YAML 视为字符串,而在 Linux 上的 Ruby 中被视为 float ?

对于相同的ruby​​版本,相同的YAML解析器引擎Psych(但次要版本不同),但不同的操作系统(Mac与Linux),文本"2e8"被视为String在Mac上,但在Linux上为Float(200000000.0)。为什么?我该如何解决才能使它们表现出相同的行为?对于Mac:Darwin12.4.0Darwin内核版本12.4.0:root:xnu-2050.24.15~1/RELEASE_X86_64x86_64require"yaml"RUBY_VERSION#=>"1.9.3"YAML::ENGINE.yamler#=>"psych"Psych::VERSION#=>"1.

ruby - 强制 Psych 读取 YAML 映射作为给定类的对象

我有一个类Foo应该以最人性化的方式序列化为文本文件,我使用Ruby的默认YAML(Psych)和自定义encode_with。我的问题是:如果我像这样删除!ruby/object:Foo:defencode_withcodercoder.tag=nil...end我能否以某种方式强制Psych将map加载为类Foo的对象(使用其init_with)。理想情况下,我也想删除---文档标记。当然,这很容易用gsub解决,但我想知道是否有一些Psych解决方案。不幸的是,Psych并不是最好的gem记录。 最佳答案 您可以向Psych提

ruby - 在带有 Ruby 的 YAML 中使用别名

我有以下YAML:-PRO_PLAN:-description:ThisistheProplanpublicName:ProPlanstartDate:12-20-2015-PRO_MONTHLY_DIRECT:-publicName:ProMonthlyprice:20sub_target:zone-PRICING_COMPONENTS:&pro_entitlementsanalytics_range:21600rules:10cannon:true-PRO_ANNUAL_DIRECT:-publicName:ProAnnualprice:240sub_target:zone-PRI

Ruby yaml 自定义域类型不保留类

我正在尝试将持续时间对象(从ruby-durationgem)转储到具有自定义类型的yaml,因此它们以hh:mm:ss的形式表示。我试图修改来自thisquestion的答案,但是当使用YAML.load解析yaml时,会返回Fixnum而不是Duration。有趣的是,Fixnum是持续时间内的总秒数,因此解析似乎有效,但之后转换为Fixnum。到目前为止我的代码:classDurationdefto_yaml_type"!example.com,2012-06-28/duration"enddefto_yaml(opts={})YAML.quick_emit(nil,opts){

ruby-on-rails - 在任何来源中都找不到 safe_yaml-0.9.2

推送到heroku:----->Ruby/Railsappdetected----->UsingRubyversion:ruby-1.9.2----->InstallingdependenciesusingBundlerversion1.3.2Rubyversionchangedetected.Clearingbundlercache.Old:ruby1.9.2p290(2011-07-09revision32553)[x86_64-linux]New:ruby1.9.2p320(2012-04-20revision35421)[x86_64-linux]Running:bundlei

ruby - 如何使用 nil 值解析 YAML?

对于我在这里发布的非常具体的问题,我深表歉意,但我希望它能帮助其他可能也遇到此问题的人。我有一个正在格式化为以下内容的字符串:[[,action1,,],[action2],[]]我想将它翻译成有效的YAML,以便它可以像这样被解析:[['','acton1','',''],['action2'],['']]我已经尝试了一堆正则表达式来完成这个,但恐怕我完全不知所措。如果需要,我可以运行多个表达式。例如(ruby):putss.gsub!(/,/,"','")#=>[[','action1','',']','[action2]','[]]putss.gsub!(/\[',/,"['',

ruby - 如何使用 Ruby 将值添加到 YAML 哈希

我在YAML文件中有一堆哈希值(它用于某些服务器的基于Puppet/Hiera的配置),看起来像这样:---apache_vhosts:'webuser.co.uk':ip:'*'port:'80'serveraliases:['www.webuser.co.uk',]add_listen:falsedocroot:'/home/webuser/public_html'docroot_owner:'webuser'docroot_group:'apache'serveradmin:'webmaster@webuser.co.uk'scriptalias:'/home/webuser/p