Ruby 3.4 リファレンスマニュアル

singleton method Object.yaml_tag

yaml_tag(tag) -> ()Ruby 1.9.3 から[permalink][rdoc][edit] [added by psych]

クラスと tag の間を関連付けます。

これによって tag 付けされた YAML ドキュメントを Ruby のオブジェクトに変換したりその逆をしたりできます。

[PARAM] tag:
対象のクラスに関連付けるタグの文字列

Example

require 'psych'
  
class Foo
  def initialize(x)
    @x = x
  end
  
  attr_reader :x
end
  
# Dumps Ruby object normally  
p Psych.dump(Foo.new(3)) 
# =>
# --- !ruby/object:Foo
# x: 3
  
# Registers tag with class Foo
Foo.yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
Psych.dump(Foo.new(3), STDOUT)
# =>
# --- !<tag:example.com,2013:foo>
# x: 3 
  
# Loads the object from the tagged YAML node
p Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x0000000130f48 @x=8>