Sha256: 8047794b5280b3918c7e00e73f9738caded4452db1276b80cf9a6bae3bc52731

Contents?: true

Size: 571 Bytes

Versions: 1

Compression:

Stored size: 571 Bytes

Contents

module Net
  class LDAP
    module Extensions
      module Bignum

        def to_ber
          # NOTE: Array#pack's 'w' is a BER _compressed_ integer. We need uncompressed
          # BER integers, so we're not using that.
          # See also: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/228864
          result = []

          n = self
          while n>0
              b = n & 0xff
              result << b
              n = n >> 8
          end

          "\002" + ([result.size] + result.reverse).pack('C*')
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
net-ldap-0.1.0 lib/net/ldap/core_ext/bignum.rb