Sha256: c8d89bc11357c6671346bd6ebb20272614816159258ce2b1c65fc86423137e1d

Contents?: true

Size: 623 Bytes

Versions: 8

Compression:

Stored size: 623 Bytes

Contents

module SoberSwag
  module Serializer
    ##
    # Provides metadata on a serializer.
    # All actions delegate to the base.
    class Meta < Base
      def initialize(base, meta)
        @base = base
        @meta = meta
      end

      attr_reader :base, :meta

      def serialize(args, opts = {})
        base.serialize(args, opts)
      end

      def lazy_type
        @base.lazy_type.meta(**meta)
      end

      def type
        @base.type.meta(**meta)
      end

      def finalize_lazy_type!
        @base.finalize_lazy_type!
      end

      def lazy_type?
        @base.lazy_type?
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sober_swag-0.9.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.8.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.7.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.6.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.5.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.4.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.3.0 lib/sober_swag/serializer/meta.rb
sober_swag-0.2.0 lib/sober_swag/serializer/meta.rb