Class: Psych::Visitors::YAMLTree::Registrar
Do not use. This class is for internal use only.
Relationships & Source Files | |
Inherits: | Object |
Defined in: | ext/psych/lib/psych/visitors/yaml_tree.rb |
Class Method Summary
- .new ⇒ Registrar constructor
Instance Method Summary
Constructor Details
.new ⇒ Registrar
# File 'ext/psych/lib/psych/visitors/yaml_tree.rb', line 17
def initialize @obj_to_id = {} @obj_to_node = {} @targets = [] @counter = 0 end
Instance Method Details
#id_for(target)
[ GitHub ]# File 'ext/psych/lib/psych/visitors/yaml_tree.rb', line 36
def id_for target @obj_to_id[target.object_id] ||= (@counter += 1) end
#key?(target) ⇒ Boolean
# File 'ext/psych/lib/psych/visitors/yaml_tree.rb', line 30
def key? target @obj_to_node.key? target.object_id rescue NoMethodError false end
#node_for(target)
[ GitHub ]# File 'ext/psych/lib/psych/visitors/yaml_tree.rb', line 40
def node_for target @obj_to_node[target.object_id] end
#register(target, node)
[ GitHub ]# File 'ext/psych/lib/psych/visitors/yaml_tree.rb', line 24
def register target, node return unless target.respond_to? :object_id @targets << target @obj_to_node[target.object_id] = node end