class Json::Streamer::Conditions

Attributes

yield_array[RW]
yield_object[RW]
yield_value[RW]

Public Class Methods

new(yield_level: -1, yield_key: nil) click to toggle source
# File lib/json/streamer/conditions.rb, line 6
def initialize(yield_level: -1, yield_key: nil)
  @yield_level = yield_level
  @yield_key = yield_key

  @yield_value = ->(aggregator:, value:nil) { yield?(aggregator) }
  @yield_object = ->(aggregator:, object:nil) { yield?(aggregator) }
  @yield_array = ->(aggregator:, array:nil) { yield?(aggregator) }
end

Private Instance Methods

yield?(aggregator) click to toggle source
# File lib/json/streamer/conditions.rb, line 17
def yield?(aggregator)
  aggregator.level.eql?(@yield_level) or (not @yield_key.nil? and @yield_key == aggregator.key)
end