Sha256: 37c5d823d407535b3be31df51da42763b1a14b7f535d80ccb53aa89ac6156edf
Contents?: true
Size: 624 Bytes
Versions: 1
Compression:
Stored size: 624 Bytes
Contents
module SoberSwag module Serializer ## # A new serializer by mapping over the serialization function class Mapped < Base def initialize(base, map_f) @base = base @map_f = map_f end def serialize(object, options) @base.serialize(@map_f.call(object), options) end def type @base.type end ## # I have no freaking clue if ruby optimizes proc composition, # but we at least save some node traversals here def via_map(&block) SoberSwag::Serializer::Mapped.new(@base, @map_f >> block) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sober_swag-0.1.0 | lib/sober_swag/serializer/mapped.rb |