class Spark::Serializer::Pair
Public Class Methods
new(serializer1, serializer2)
click to toggle source
# File lib/spark/serializer/pair.rb, line 5 def initialize(serializer1, serializer2) @serializer1 = serializer1 @serializer2 = serializer2 end
Public Instance Methods
aggregate(item1, item2)
click to toggle source
# File lib/spark/serializer/pair.rb, line 14 def aggregate(item1, item2) item1.zip(item2) end
load_from_io(io) { |item| ... }
click to toggle source
# File lib/spark/serializer/pair.rb, line 18 def load_from_io(io) return to_enum(__callee__, io) unless block_given? loop do size = io.read_int_or_eof break if size == Spark::Constant::DATA_EOF item1 = @serializer1.load(io.read(size)) item2 = @serializer2.load(io.read_string) item1 = [item1] unless @serializer1.batched? item2 = [item2] unless @serializer2.batched? aggregate(item1, item2).each do |item| yield item end end end
to_s()
click to toggle source
# File lib/spark/serializer/pair.rb, line 10 def to_s "#{name}(#{@serializer1}, #{@serializer2})" end