Sha256: 3a009bcb0397beec5323349892e901799c7eec875b2d79d9866a562b45494710

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.1 lib/net/ldap/core_ext/bignum.rb