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 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 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