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 2679/^(\d+\.*\d*)[m]$/ 
Class Method Summary
- 
    
      .create(arg)  
    
    
Creates a new
Sizefromargwhich 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
 - 
argmust match the Regex constant 
# File 'lib/resolv.rb', line 2687
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 2711
attr_reader :scalar
Instance Method Details
#==(other)
    This method is for internal use only.
  
  [ GitHub ]
# File 'lib/resolv.rb', line 2722
def ==(other) # :nodoc: return @scalar == other.scalar end
    #eql?(other)  ⇒ Boolean 
  
  
    This method is for internal use only.
  
# File 'lib/resolv.rb', line 2726
def eql?(other) # :nodoc: return self == other end
#hash
    This method is for internal use only.
  
  [ GitHub ]
# File 'lib/resolv.rb', line 2730
def hash # :nodoc: return @scalar.hash end
#inspect
    This method is for internal use only.
  
  [ GitHub ]
# File 'lib/resolv.rb', line 2718
def inspect # :nodoc: return "#<#{self.class} #{self}>" end
#to_s
    This method is for internal use only.
  
  [ GitHub ]
# File 'lib/resolv.rb', line 2713
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