Class: Digest::Class
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Instance Chain: 
          self,
          Instance
         | |
| Inherits: | Object | 
| Defined in: | ext/digest/digest.c, ext/digest/digest.c, ext/digest/bubblebabble/bubblebabble.c, ext/digest/lib/digest.rb | 
Overview
This module stands as a base class for digest implementation classes.
Class Method Summary
- 
    
      .base64digest(str, *args)  
    
    Returns the base64 encoded hash value of a given string. 
- 
    
      .digest(string, *parameters)  ⇒ hash_string 
    
    Returns the hash value of a given string. 
- 
    
      .file(name, *args)  
    
    Creates a digest object and reads a given file, name. 
- 
    
      .hexdigest(string[, ...])  ⇒ hash_string 
    
    Returns the hex-encoded hash value of a given string. 
- .new constructor Internal use only
Instance Method Summary
Instance - Included
| #<< | Updates the digest using a given string and returns self. | 
| #== | If a string is given, checks whether it is equal to the hex-encoded hash value of the digest object. | 
| #base64digest | If none is given, returns the resulting hash value of the digest in a base64 encoded form, keeping the digest's state. | 
| #base64digest! | Returns the resulting hash value and resets the digest to the initial state. | 
| #block_length | Returns the block length of the digest. | 
| #bubblebabble | Returns the resulting hash value in a Bubblebabble encoded form. | 
| #digest | If none is given, returns the resulting hash value of the digest, keeping the digest's state. | 
| #digest! | Returns the resulting hash value and resets the digest to the initial state. | 
| #digest_length | Returns the length of the hash value of the digest. | 
| #file | Updates the digest with the contents of a given file name and returns self. | 
| #hexdigest | If none is given, returns the resulting hash value of the digest in a hex-encoded form, keeping the digest's state. | 
| #hexdigest! | Returns the resulting hash value in a hex-encoded form and resets the digest to the initial state. | 
| #inspect | Creates a printable version of the digest object. | 
| #length | Returns digest_obj.digest_length(). | 
| #new | Returns a new, initialized copy of the digest object. | 
| #reset | Resets the digest to the initial state and returns self. | 
| #size | Alias for Instance#length. | 
| #to_s | Returns digest_obj.hexdigest(). | 
| #update | Alias for Instance#<<. | 
| #finish | Finishes the digest and returns the resulting hash value. | 
Constructor Details
.new
# File 'ext/digest/digest.c', line 493
static VALUE
rb_digest_class_init(VALUE self)
{
    return self;
}
  Class Method Details
.base64digest(str, *args)
Returns the base64 encoded hash value of a given string. The return value is properly padded with '=' and contains no line feeds.
# File 'ext/digest/lib/digest.rb', line 41
def self.base64digest(str, *args) [digest(str, *args)].pack('m0') end
    .digest(string, *parameters)  ⇒ hash_string   
Returns the hash value of a given string.  This is equivalent to Class.new(*parameters).digest(string), where extra parameters, if any, are passed through to the constructor and the string is passed to #digest().
# File 'ext/digest/digest.c', line 457
static VALUE
rb_digest_class_s_digest(int argc, VALUE *argv, VALUE klass)
{
    VALUE str;
    volatile VALUE obj;
    if (argc < 1) {
        rb_raise(rb_eArgError, "no data given");
    }
    str = *argv++;
    argc--;
    StringValue(str);
    obj = rb_obj_alloc(klass);
    rb_obj_call_init(obj, argc, argv);
    return rb_funcall(obj, id_digest, 1, str);
}
  .file(name, *args)
# File 'ext/digest/lib/digest.rb', line 34
def self.file(name, *args) new(*args).file(name) end
    .hexdigest(string[, ...])  ⇒ hash_string   
Returns the hex-encoded hash value of a given string. This is almost equivalent to Digest.hexencode(Digest::Class.new(*parameters).digest(string)).
# File 'ext/digest/digest.c', line 486
static VALUE
rb_digest_class_s_hexdigest(int argc, VALUE *argv, VALUE klass)
{
    return hexencode_str_new(rb_funcallv(klass, id_digest, argc, argv));
}