Module: K8s::JSONParser

Defined in:
lib/k8s/json_parser.rb,
lib/k8s/json_parser/yajl.rb

Defined Under Namespace

Classes: Default, Yajl

Class Method Summary collapse

Class Method Details

.backendObject



64
65
66
# File 'lib/k8s/json_parser.rb', line 64

def self.backend
  @backend ||= Default
end

.backend=(parser_class) ⇒ Object

Parameters:

  • parser_class (Class)

    set a different JSON parser backend



69
70
71
# File 'lib/k8s/json_parser.rb', line 69

def self.backend=(parser_class)
  @backend = parser_class
end

.new(&block) ⇒ K8s::JSONParser::Default, K8s::JSONParser::Yajl

Instantiate a streaming JSON parser.

Examples:

result = []
parser = K8s::JSONParser.new do |obj|
  result << obj
end
parser << '{"hello":"world"\n}'
parser << '{"hello":"world"\n}'
puts result.inspect
# outputs:
# [{ 'hello' => 'world' }, { 'hello' => 'world' }]

Returns:



93
94
95
# File 'lib/k8s/json_parser.rb', line 93

def self.new(&block)
  backend.new(&block)
end

.parse(input) ⇒ Object

Returns parse outcome.

Parameters:

  • input (String)

    JSON content

Returns:

  • (Object)

    parse outcome



75
76
77
# File 'lib/k8s/json_parser.rb', line 75

def self.parse(input)
  backend.parse(input)
end