Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > syckライブラリ > Syckモジュール > add_ruby_type
add_ruby_type(type_tag) {|type, val| ...} -> nil
[permalink][rdoc]rubyタイプのクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。
require 'syck' require 'yaml' class Dog attr_accessor :name def initialize(name) @name = name end end str1=<<EOT --- !ruby/Dog name: pochi --- !!Dog age: 0.5 --- !Qjitsu.com,2007-05-06/Dog preference: apple EOT YAML.add_ruby_type("Dog") do |type, val| YAML.object_maker(Dog, val) end YAML.each_document(str1){|dog| p dog.class p dog.respond_to?(:name) } #=> Dog #=> true #=> YAML::PrivateType #=> false #=> YAML::DomainType #=> false