Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > psychライブラリ > Objectクラス > yaml_tag

singleton method Object.yaml_tag

yaml_tag(tag) -> ()[permalink][rdoc] [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>