Class: JSON::LD::BlankNodeNamer

Inherits:
Hash
  • Object
show all
Defined in:
lib/json/ld/utils.rb

Overview

Utility class for mapping old blank node identifiers, or unnamed blank nodes to new identifiers

Instance Method Summary collapse

Methods inherited from Hash

ordered

Constructor Details

#initialize(prefix) ⇒ BlankNodeNamer

Returns a new instance of BlankNodeNamer.

Parameters:

  • prefix (String)


81
82
83
84
# File 'lib/json/ld/utils.rb', line 81

def initialize(prefix)
  @prefix = "_:#{prefix}0"
  super
end

Instance Method Details

#get_name(old) ⇒ String

Get a new mapped name for ‘old`

Parameters:

  • old (String)

Returns:

  • (String)


91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/json/ld/utils.rb', line 91

def get_name(old)
  if old && self.has_key?(old)
    self[old]
  elsif old
    self[old] = @prefix.dup
    @prefix.succ!
    self[old]
  else
    # Not referenced, just return a new unique value
    cur = @prefix.dup
    @prefix.succ!
    cur
  end
end