Class: Resolv::LOC::Size
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/resolv.rb |
Overview
A Size
Constant Summary
-
Regex =
# File 'lib/resolv.rb', line 2653/^(\d+\.*\d*)[m]$/
Class Method Summary
-
.create(arg)
Creates a new
Size
fromarg
which may be: - .new(scalar) ⇒ Size constructor
Instance Attribute Summary
-
#scalar
readonly
The raw size.
Instance Method Summary
- #==(other) Internal use only
- #eql?(other) ⇒ Boolean Internal use only
- #hash Internal use only
- #inspect Internal use only
- #to_s Internal use only
Constructor Details
.new(scalar) ⇒ Size
Class Method Details
.create(arg)
Creates a new Size
from arg
which may be:
- LOC::Size
-
returns
arg
. - String
-
arg
must match the Regex constant
# File 'lib/resolv.rb', line 2661
def self.create(arg) case arg when Size return arg when String scalar = '' if Regex =~ arg scalar = [(($1.to_f*(1e2)).to_i.to_s[0].to_i*(2**4)+(($1.to_f*(1e2)).to_i.to_s.length-1))].pack("C") else raise ArgumentError.new("not a properly formed Size string: " + arg) end return Size.new(scalar) else raise ArgumentError.new("cannot interpret as Size: #{arg.inspect}") end end
Instance Attribute Details
#scalar (readonly)
The raw size
# File 'lib/resolv.rb', line 2685
attr_reader :scalar
Instance Method Details
#==(other)
This method is for internal use only.
[ GitHub ]
# File 'lib/resolv.rb', line 2696
def ==(other) # :nodoc: return @scalar == other.scalar end
#eql?(other) ⇒ Boolean
This method is for internal use only.
# File 'lib/resolv.rb', line 2700
def eql?(other) # :nodoc: return self == other end
#hash
This method is for internal use only.
[ GitHub ]
# File 'lib/resolv.rb', line 2704
def hash # :nodoc: return @scalar.hash end
#inspect
This method is for internal use only.
[ GitHub ]
# File 'lib/resolv.rb', line 2692
def inspect # :nodoc: return "#<#{self.class} #{self}>" end
#to_s
This method is for internal use only.
[ GitHub ]
# File 'lib/resolv.rb', line 2687
def to_s # :nodoc: s = @scalar.unpack("H2").join.to_s return ((s[0].to_i)*(10**(s[1].to_i-2))).to_s << "m" end