Class: Marshalsea::Psych::Reference

Inherits:
Object
  • Object
show all
Defined in:
lib/marshalsea/psych/inspector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(class_name:, kind:, key_position:) ⇒ Reference

Returns a new instance of Reference.



79
80
81
82
83
# File 'lib/marshalsea/psych/inspector.rb', line 79

def initialize(class_name:, kind:, key_position:)
  @class_name = class_name
  @kind = kind
  @key_position = key_position
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



77
78
79
# File 'lib/marshalsea/psych/inspector.rb', line 77

def class_name
  @class_name
end

#key_positionObject (readonly)

Returns the value of attribute key_position.



77
78
79
# File 'lib/marshalsea/psych/inspector.rb', line 77

def key_position
  @key_position
end

#kindObject (readonly)

Returns the value of attribute kind.



77
78
79
# File 'lib/marshalsea/psych/inspector.rb', line 77

def kind
  @kind
end

Instance Method Details

#gated?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/marshalsea/psych/inspector.rb', line 89

def gated?
  Tags::GATED_KINDS.include?(kind)
end

#key_position?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/marshalsea/psych/inspector.rb', line 85

def key_position?
  @key_position
end

#revival_methodObject



93
94
95
# File 'lib/marshalsea/psych/inspector.rb', line 93

def revival_method
  Tags::REVIVAL_METHODS.fetch(kind, nil)
end

#to_sObject



97
98
99
# File 'lib/marshalsea/psych/inspector.rb', line 97

def to_s
  "#{class_name} (!ruby/#{kind})"
end