Class: BaseConvert::FromTo

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

Constant Summary

Constants included from Configuration

Configuration::AMBIGUOUS, Configuration::BASE, Configuration::DIGITS, Configuration::GRAPH, Configuration::INDEXa, Configuration::QGRAPH, Configuration::UNAMBIGUOUS, Configuration::WORD, Configuration::WORD_

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Functions

to_base, to_integer

Methods included from Helpers

base, digits, upcase?, validate, validate_string

Constructor Details

#initialize(basefrom, baseto = basefrom) ⇒ FromTo

Returns a new instance of FromTo.



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

def initialize(basefrom, baseto=basefrom)
  @basefrom    = FromTo.base(basefrom)
  @baseto      = FromTo.base(baseto)
  @from_digits = FromTo.digits(basefrom)
  @to_digits   = FromTo.digits(baseto)

  FromTo.validate(@baseto, @to_digits)
  FromTo.validate(@basefrom, @from_digits)
end

Instance Attribute Details

#from_digitsObject

Returns the value of attribute from_digits.



7
8
9
# File 'lib/base_convert/from_to.rb', line 7

def from_digits
  @from_digits
end

#to_digitsObject

Returns the value of attribute to_digits.



7
8
9
# File 'lib/base_convert/from_to.rb', line 7

def to_digits
  @to_digits
end

Instance Method Details

#base2integer(string) ⇒ Object Also known as: base2dec



18
19
20
21
22
# File 'lib/base_convert/from_to.rb', line 18

def base2integer(string)
  string = string.upcase if FromTo.upcase?(@basefrom, @from_digits) # covenience
  FromTo.validate_string(string, @basefrom, @from_digits)
  FromTo.to_integer(string, @basefrom, @from_digits)
end

#convert(string) ⇒ Object



30
31
32
# File 'lib/base_convert/from_to.rb', line 30

def convert(string)
  integer2base base2integer string.to_s
end

#integer2base(integer) ⇒ Object Also known as: dec2base



25
26
27
# File 'lib/base_convert/from_to.rb', line 25

def integer2base(integer)
  FromTo.to_base(integer, @baseto, @to_digits)
end