Class: BaseConvert::Number

Inherits:
String
  • Object
show all
Extended by:
Functions, Helpers
Includes:
Configuration
Defined in:
lib/base_convert/number.rb

Constant Summary

Constants included from Configuration

Configuration::BASE, Configuration::DIGITS, Configuration::INDEXa, Configuration::QGRAPH, Configuration::WORD

Instance Method Summary collapse

Methods included from Helpers

base, digits, upcase?, validate, validate_string

Constructor Details

#initialize(counter, base = 10, digits = Number.digits(base), validate = true) ⇒ Number

Returns a new instance of Number.



7
8
9
10
11
12
13
14
15
16
# File 'lib/base_convert/number.rb', line 7

def initialize(counter, base=10, digits=Number.digits(base), validate=true)
  super(counter.to_s)
  @base   = Number.base(base)
  @digits = digits
  if validate
    self.upcase! if Number.upcase?(@base, @digits)
    Number.validate(@base, @digits)
    Number.validate_string(self, @base, @digits)
  end
end

Instance Method Details

#to_base(base, digits = Number.digits(base), validate = true) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/base_convert/number.rb', line 22

def to_base(base, digits=Number.digits(base), validate=true)
  base   = Number.base(base)
  Number.validate(base, digits) if validate
  integer = self.to_integer
  string = Number.to_base(integer, base, digits)
  Number.new(string, base, digits, false) # no need to validate
end

#to_integerObject



18
19
20
# File 'lib/base_convert/number.rb', line 18

def to_integer
  Number.to_integer(self, @base, @digits)
end