Open
Description
Description
YARD needs custom handlers to pickup our DSL and automagically document it.
Proposed Solution
Add handler so that the following may be generated:
# @!method to_constructable
# Returns the construtable media type
#
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Constructable ::MediaTypes::Constructable
# @return [::MediaTypes::Constructable] a constructable
#
media_type 'x'
# @!method valid?(data, constructed_media_type, **opts)
# Validates the +data+ against the validation for +constructed_media_type+.
#
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Scheme#valid%3F-instance_method ::MediaTypes::Scheme#valid?
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Constructable#valid%3F-instance_method ::MediaTypes::Constructable#valid?
#
# @param [Object] data the data to validate
# @param [Constructable, String] constructed_media_type something that resolved into a media type with validations
# @param [Hash] opts passed on to {::MediaTypes::Scheme#valid?}
#
# @return [TrueClass, FalseClass] true if valid, false otherwise
#
# @!method validate!(data, constructed_media_type, **opts)
# Validates the +data+ against the validation for +constructed_media_type+. Raises if invalid
#
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Scheme#validate-instance_method ::MediaTypes::Scheme#validate
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Constructable#validate!-instance_method ::MediaTypes::Constructable#validate!
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Scheme/ValidationError ::MediaTypes::Scheme::ValidationError
#
# @param [Object] data the data to validate
# @param [Constructable, String] constructed_media_type something that resolved into a media type with validations
# @param [Hash] opts passed on to {::MediaTypes::Scheme#validate}
#
# @raise ::MediaTypes::Scheme::ValidationError an error if the scheme is not valid
# @return [TrueClass] true if valid
#
validations do
end
# @!method register
# Registers all the known permutations of versions, views, suffixes and aliases for this media type via
# {::MediaTypes.register}
#
# @see https://www.rubydoc.info/gems/media_types/MediaTypes#register-class-method ::Mediatypes.register
# @see https://www.rubydoc.info/gems/media_types/MediaTypes/Registerable ::Mediatypes::Registerable
#
# @return [Array<::MediaTypes::Registerable>]
registrations :x do
end
Additional Context
https://yardoc.org/guides/extending-yard/writing-handlers.html