# File lib/net/ber.rb, line 37 37: def self.compile_syntax(syn) 38: out = [nil] * 256 39: syn.each do |tclass, tclasses| 40: tagclass = {:universal=>0, :application=>64, :context_specific=>128, :private=>192} [tclass] 41: tclasses.each do |codingtype,codings| 42: encoding = {:primitive=>0, :constructed=>32} [codingtype] 43: codings.each {|tag, objtype| out[tagclass + encoding + tag] = objtype } 44: end 45: end 46: out 47: end
# File lib/net/ber.rb, line 49 49: def to_ber 50: # Provisional implementation. 51: # We ASSUME that our incoming value is an array, and we 52: # use the Array#to_ber_oid method defined below. 53: # We probably should obsolete that method, actually, in 54: # and move the code here. 55: # WE ARE NOT CURRENTLY ENCODING THE BER-IDENTIFIER. 56: # This implementation currently hardcodes 6, the universal OID tag. 57: ary = @value.dup 58: first = ary.shift 59: raise Net::BER::BerError.new(" invalid OID" ) unless [0,1,2].include?(first) 60: first = first * 40 + ary.shift 61: ary.unshift first 62: oid = ary.pack("w*") 63: [6, oid.length].pack("CC") + oid 64: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.