46 lines
662 B
Ruby
46 lines
662 B
Ruby
require 'digest'
|
|
|
|
module Digest
|
|
|
|
module Instance
|
|
|
|
# For Ruby < 1.9.2
|
|
|
|
unless instance_methods.include? :base64digest
|
|
|
|
# From Ruby 1.9.2 source
|
|
def base64digest(str = nil)
|
|
[str ? digest(str) : digest].pack('m0')
|
|
end
|
|
|
|
end
|
|
|
|
unless instance_methods.include? :base64digest!
|
|
|
|
# From Ruby 1.9.2 source
|
|
def base64digest!
|
|
[digest!].pack('m0')
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
class Class
|
|
|
|
# For Ruby < 1.9.2
|
|
|
|
unless methods.include? :base64digest
|
|
|
|
# From Ruby 1.9.2 source
|
|
def self.base64digest(str, *args)
|
|
[self.digest(str, *args)].pack('m0')
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|