Method: JSONP3::JSONPointer.encode

Defined in:
lib/json_p3/pointer.rb

.encode(tokens) ⇒ String

Encode an array of strings and integers into a JSON Pointer.

Parameters:

  • tokens (Array<String | Integer> | nil)

Returns:

  • (String)


16
17
18
19
20
21
22
23
24
# File 'lib/json_p3/pointer.rb', line 16

def self.encode(tokens)
  return "" if tokens.nil? || tokens.empty?

  encoded = tokens.map do |token|
    token.is_a?(Integer) ? token.to_s : token.gsub("~", "~0").gsub("/", "~1")
  end

  "/#{encoded.join("/")}"
end