[Libguestfs] [PATCH] ruby: improve rdoc markup

Richard W.M. Jones rjones at redhat.com
Fri Oct 2 13:14:36 UTC 2015


On Fri, Oct 02, 2015 at 02:53:30PM +0200, Pino Toscano wrote:
> - fix the syntax of hyperlinks
> - replace the deprecation text with a simplier named list item, so it's
>   more visible
> - use a named list item for the pointer to the C documentation of each
>   API
> - add a named list item for the version of each API
> ---
>  generator/ruby.ml | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/generator/ruby.ml b/generator/ruby.ml
> index cd6678d..87bb34a 100644
> --- a/generator/ruby.ml
> +++ b/generator/ruby.ml
> @@ -178,7 +178,7 @@ parse_flags (int argc, VALUE *argv)
>   *   Guestfs::Guestfs.new([{:environment => false, :close_on_exit => false}]) -> Guestfs::Guestfs
>   *
>   * Call
> - * +guestfs_create_flags+[http://libguestfs.org/guestfs.3.html#guestfs_create_flags]
> + * {guestfs_create_flags}[http://libguestfs.org/guestfs.3.html#guestfs_create_flags]
>   * to create a new libguestfs handle.  The handle is represented in
>   * Ruby as an instance of the Guestfs::Guestfs class.
>   */
> @@ -235,7 +235,7 @@ ruby_guestfs_create (int argc, VALUE *argv, VALUE module)
>   *   g.close() -> nil
>   *
>   * Call
> - * +guestfs_close+[http://libguestfs.org/guestfs.3.html#guestfs_close]
> + * {guestfs_close}[http://libguestfs.org/guestfs.3.html#guestfs_close]
>   * to close the libguestfs handle.
>   */
>  static VALUE
> @@ -258,7 +258,7 @@ ruby_guestfs_close (VALUE gv)
>   *   g.set_event_callback(cb, event_bitmask) -> event_handle
>   *
>   * Call
> - * +guestfs_set_event_callback+[http://libguestfs.org/guestfs.3.html#guestfs_set_event_callback]
> + * {guestfs_set_event_callback}[http://libguestfs.org/guestfs.3.html#guestfs_set_event_callback]
>   * to register an event callback.  This returns an event handle.
>   */
>  static VALUE
> @@ -297,7 +297,7 @@ ruby_set_event_callback (VALUE gv, VALUE cbv, VALUE event_bitmaskv)
>   *   g.delete_event_callback(event_handle) -> nil
>   *
>   * Call
> - * +guestfs_delete_event_callback+[http://libguestfs.org/guestfs.3.html#guestfs_delete_event_callback]
> + * {guestfs_delete_event_callback}[http://libguestfs.org/guestfs.3.html#guestfs_delete_event_callback]
>   * to delete an event callback.
>   */
>  static VALUE
> @@ -328,7 +328,7 @@ ruby_delete_event_callback (VALUE gv, VALUE event_handlev)
>   *   Guestfs::Guestfs.event_to_string(events) -> string
>   *
>   * Call
> - * +guestfs_event_to_string+[http://libguestfs.org/guestfs.3.html#guestfs_event_to_string]
> + * {guestfs_event_to_string}[http://libguestfs.org/guestfs.3.html#guestfs_event_to_string]
>   * to convert an event or event bitmask into a printable string.
>   */
>  static VALUE
> @@ -477,13 +477,18 @@ get_all_event_callbacks (guestfs_h *g, size_t *len_rtn)
>            if f.protocol_limit_warning then
>              doc ^ "\n\n" ^ protocol_limit_warning
>            else doc in
> -        let doc =
> -          match deprecation_notice f with
> -          | None -> doc
> -          | Some txt -> doc ^ "\n\n" ^ txt in
>          let doc = pod2text ~width:60 f.name doc in
>          let doc = String.concat "\n * " doc in
>          let doc = trim doc in
> +        let doc =
> +          match version_added f with
> +          | None -> doc
> +          | Some version -> doc ^ (sprintf "\n *\n * [Since] Added in version %s." version) in
> +        let doc =
> +          match f with
> +          | { deprecated_by = None } -> doc
> +          | { deprecated_by = Some alt } ->
> +            doc ^ (sprintf "\n *\n * [Deprecated] In new code, use rdoc-ref:%s instead." alt) in
>  
>          (* Because Ruby documentation appears as C comments, we must
>           * replace any instance of "/*".
> @@ -518,8 +523,8 @@ get_all_event_callbacks (guestfs_h *g, size_t *len_rtn)
>   *
>   * %s
>   *
> - * (For the C API documentation for this function, see
> - * +guestfs_%s+[http://libguestfs.org/guestfs.3.html#guestfs_%s]).
> + * [C API] For the C API documentation for this function, see
> + *         {guestfs_%s}[http://libguestfs.org/guestfs.3.html#guestfs_%s].
>   */
>  " f.name args ret f.shortdesc doc f.name f.name
>        ) else (

ACK.

I wonder if Ruby changed the format of rdoc?  Could swear this worked
when I first wrote it.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list