lib/anybase.rb in anybase-0.0.2 vs lib/anybase.rb in anybase-0.0.3
- old
+ new
@@ -26,17 +26,20 @@
num += (chars.size ** (val.size - i - 1)) * @char_map[val[i]]
}
num
end
- def to_native(val)
+ def to_native(val, options = nil)
str = ''
until val.zero?
digit = val % chars.size
val /= chars.size
str[0, 0] = @num_map[digit]
end
- str
+ if options && options[:zero_pad]
+ str[0, 0] = @num_map[0] * (options[:zero_pad] - str.size)
+ end
+ str == '' ? @num_map[0].dup : str
end
Hex = Anybase.new('0123456789abcdef', :ignore_case => true)
Base64 = Anybase.new('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')
Base64ForURL = Anybase.new('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_')
\ No newline at end of file