Class: YugabyteYSQL::TextEncoder::Inet
- Inherits:
-
SimpleEncoder
- Object
- SimpleEncoder
- YugabyteYSQL::TextEncoder::Inet
- Defined in:
- lib/pg/text_encoder/inet.rb
Instance Method Summary collapse
Instance Method Details
#encode(value) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pg/text_encoder/inet.rb', line 9 def encode(value) case value when IPAddr default_prefix = (value.family == Socket::AF_INET ? 32 : 128) s = value.to_s if value.respond_to?(:prefix) prefix = value.prefix else range = value.to_range prefix = default_prefix - Math.log(((range.end.to_i - range.begin.to_i) + 1), 2).to_i end s << "/" << prefix.to_s if prefix != default_prefix s else value end end |