class Json::Streamer::Callbacks
Attributes
aggregator[R]
Public Class Methods
new(aggregator)
click to toggle source
# File lib/json/streamer/callbacks.rb, line 6 def initialize(aggregator) @aggregator = aggregator end
Public Instance Methods
end_array() { |obj| ... }
click to toggle source
# File lib/json/streamer/callbacks.rb, line 31 def end_array end_level { |obj| yield obj } end
end_object() { |obj| ... }
click to toggle source
# File lib/json/streamer/callbacks.rb, line 27 def end_object end_level { |obj| yield obj } end
key(k, symbolize_keys)
click to toggle source
# File lib/json/streamer/callbacks.rb, line 18 def key(k, symbolize_keys) @aggregator.key = symbolize_keys ? k.to_sym : k end
start_array()
click to toggle source
# File lib/json/streamer/callbacks.rb, line 14 def start_array new_level(Array.new) end
start_object()
click to toggle source
# File lib/json/streamer/callbacks.rb, line 10 def start_object new_level(Hash.new) end
value(value) { |value| ... }
click to toggle source
# File lib/json/streamer/callbacks.rb, line 22 def value(value) used = yield value add_value(value) unless used end
Private Instance Methods
add_value(value)
click to toggle source
# File lib/json/streamer/callbacks.rb, line 46 def add_value(value) @aggregator.value = value end
end_level() { |data| ... }
click to toggle source
# File lib/json/streamer/callbacks.rb, line 37 def end_level data = @aggregator.value.clone @aggregator.pop used = yield data add_value(data) unless used or @aggregator.empty? end
new_level(type)
click to toggle source
# File lib/json/streamer/callbacks.rb, line 50 def new_level(type) @aggregator.push(value: type) end