This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

OpenSSL::ASN1::Primitive

        # OpenSSL::ASN1::Primitive < OpenSSL::ASN1::ASN1Data

(from ruby core)
---
The parent class for all primitive encodings. Attributes are the same as
for ASN1Data, with the addition of *tagging*. Primitive values can never
be encoded with indefinite length form, thus it is not possible to set
the *indefinite_length* attribute for Primitive and its sub-classes.

## Primitive sub-classes and their mapping to Ruby classes
*   OpenSSL::ASN1::EndOfContent    <=> *value* is always `nil`
*   OpenSSL::ASN1::Boolean         <=> *value* is `true` or `false`
*   OpenSSL::ASN1::Integer         <=> *value* is an OpenSSL::BN
*   OpenSSL::ASN1::BitString       <=> *value* is a String
*   OpenSSL::ASN1::OctetString     <=> *value* is a String
*   OpenSSL::ASN1::Null            <=> *value* is always `nil`
*   OpenSSL::ASN1::Object          <=> *value* is a String
*   OpenSSL::ASN1::Enumerated      <=> *value* is an OpenSSL::BN
*   OpenSSL::ASN1::UTF8String      <=> *value* is a String
*   OpenSSL::ASN1::NumericString   <=> *value* is a String
*   OpenSSL::ASN1::PrintableString <=> *value* is a String
*   OpenSSL::ASN1::T61String       <=> *value* is a String
*   OpenSSL::ASN1::VideotexString  <=> *value* is a String
*   OpenSSL::ASN1::IA5String       <=> *value* is a String
*   OpenSSL::ASN1::UTCTime         <=> *value* is a Time
*   OpenSSL::ASN1::GeneralizedTime <=> *value* is a Time
*   OpenSSL::ASN1::GraphicString   <=> *value* is a String
*   OpenSSL::ASN1::ISO64String     <=> *value* is a String
*   OpenSSL::ASN1::GeneralString   <=> *value* is a String
*   OpenSSL::ASN1::UniversalString <=> *value* is a String
*   OpenSSL::ASN1::BMPString       <=> *value* is a String


## OpenSSL::ASN1::BitString

### Additional attributes
*unused_bits*: if the underlying BIT STRING's length is a multiple of 8
then *unused_bits* is 0. Otherwise *unused_bits* indicates the number of
bits that are to be ignored in the final octet of the BitString's
*value*.

## OpenSSL::ASN1::ObjectId

NOTE: While OpenSSL::ASN1::ObjectId.new will allocate a new ObjectId, it
is not typically allocated this way, but rather that are received from
parsed ASN1 encodings.

### Additional attributes
*   *sn*: the short name as defined in <openssl/objects.h>.
*   *ln*: the long name as defined in <openssl/objects.h>.
*   *oid*: the object identifier as a String, e.g. "1.2.3.4.5"
*   *short_name*: alias for *sn*.
*   *long_name*: alias for *ln*.


## Examples
With the Exception of OpenSSL::ASN1::EndOfContent, each Primitive class
constructor takes at least one parameter, the *value*.

### Creating EndOfContent
    eoc = OpenSSL::ASN1::EndOfContent.new

### Creating any other Primitive
    prim = <class>.new(value) # <class> being one of the sub-classes except EndOfContent
    prim_zero_tagged_implicit = <class>.new(value, 0, :IMPLICIT)
    prim_zero_tagged_explicit = <class>.new(value, 0, :EXPLICIT)
---
# Class methods:

    new

# Instance methods:

    tagging
    to_der

# Attributes:

    attr_accessor tagging


      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.