Sha256: 982e63d8a627ae669a299727d6e074d28da6d61b99ed3e55e0c127fd74628f49

Contents?: true

Size: 477 Bytes

Versions: 1

Compression:

Stored size: 477 Bytes

Contents

module SoberSwag
  module Serializer
    class Optional < Base

      def initialize(inner)
        @inner = inner
      end

      attr_reader :inner

      def serialize(object, options = {})
        if object.nil?
          object
        else
          inner.serialize(object, options)
        end
      end

      def type
        inner.type.optional
      end

      def optional(*)
        raise ArgumentError, 'no nesting optionals please'
      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/optional.rb