class Camerata::Serializer
Public Class Methods
new(encoder: nil)
click to toggle source
# File lib/camerata/serializer.rb, line 8 def initialize(encoder: nil) @encoder = encoder || Yajl::Encoder.new @middleware_list = [] end
Public Instance Methods
marshall(enumerable)
click to toggle source
# File lib/camerata/serializer.rb, line 17 def marshall(enumerable) enumerable.map do |record| payload = {} @middleware_list.each do |middleware| payload = middleware.call(record, payload) end payload end end
register(&middleware)
click to toggle source
# File lib/camerata/serializer.rb, line 13 def register(&middleware) @middleware_list << middleware end