o:$YARD::CodeObjects::MethodObject:@scope:
instance:@visibility:public:
@pathI"Enumerable#min:EF:@parameters[�:@files[[I"enum.c;T0:@current_file_has_commentsF:
@name:min:@source_type:c:
@tags[�:@docstringIC:YARD::Docstring"CReturns the object in <i>enum</i> with the minimum value. The
first form assumes all objects implement <code>Comparable</code>;
the second uses the block to return <em>a <=> b</em>.

   a = %w(albatross dog horse)
   a.min                                  #=> "albatross"
   a.min {|a,b| a.length <=> b.length }   #=> "dog";F:@objectIu:YARD::StubProxyEnumerable#min;F:
@summary0:@ref_tags[�;[o:YARD::Tags::OverloadTag
:@tag_nameI"
overload;F:
@text0;;:@types0:@signatureI"min;F;IC;"�;F;Iu;Enumerable#min;F;0;[�;[o:YARD::Tags::Tag
;I"return;F;I"�;F;0;[I"Object;F;0:	@allI"@return [Object];F;[�;Iu;Enumerable#min;Fo;
;I"
overload;F;0;;;0;I"min;F;IC;"�;F;Iu;Enumerable#min;F;0;[�;[o;
;I"
yield;F;I"�;F;0;[I"a;FI"b;F;0o;
;I"return;F;I"�;F;0;[I"Object;F;0; I"$@yield [ a,b ]
@return [Object];F;[�;Iu;Enumerable#min;F; I"�Returns the object in <i>enum</i> with the minimum value. The
first form assumes all objects implement <code>Comparable</code>;
the second uses the block to return <em>a <=> b</em>.

   a = %w(albatross dog horse)
   a.min                                  #=> "albatross"
   a.min {|a,b| a.length <=> b.length }   #=> "dog"


@overload min
  @return [Object]
@overload min
  @yield [ a,b ]
  @return [Object];F:@namespaceIu;Enumerable;F:@docstring_extra0:@sourceI"�/*
 *  call-seq:
 *     enum.min                    -> obj
 *     enum.min {| a,b | block }   -> obj
 *
 *  Returns the object in <i>enum</i> with the minimum value. The
 *  first form assumes all objects implement <code>Comparable</code>;
 *  the second uses the block to return <em>a <=> b</em>.
 *
 *     a = %w(albatross dog horse)
 *     a.min                                  #=> "albatross"
 *     a.min {|a,b| a.length <=> b.length }   #=> "dog"
 */

static VALUE
enum_min(VALUE obj)
{
    VALUE result = Qundef;

    if (rb_block_given_p()) {
    rb_block_call(obj, id_each, 0, 0, min_ii, (VALUE)&result);
    }
    else {
    rb_block_call(obj, id_each, 0, 0, min_i, (VALUE)&result);
    }
    if (result == Qundef) return Qnil;
    return result;
};F