Class: CharacterSet::CharacterSetConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/modules/character_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(characters, options = {}) ⇒ CharacterSetConverter

Returns a new instance of CharacterSetConverter.



4
5
6
7
8
9
# File 'lib/modules/character_set.rb', line 4

def initialize(characters, options = {})
  @characters = characters
  options[:repeat] = true unless options.include?(:repeat)
  @options = options
  @size = characters.size
end

Instance Attribute Details

#charactersObject (readonly)

Returns the value of attribute characters.



3
4
5
# File 'lib/modules/character_set.rb', line 3

def characters
  @characters
end

#optionsObject (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/modules/character_set.rb', line 3

def options
  @options
end

#sizeObject (readonly)

Returns the value of attribute size.



3
4
5
# File 'lib/modules/character_set.rb', line 3

def size
  @size
end

Instance Method Details

#calc_repetition(num) ⇒ Object



20
21
22
# File 'lib/modules/character_set.rb', line 20

def calc_repetition(num)
  num % size == 0 ? num / size : (num / size) + 1
end

#to_characters(num) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/modules/character_set.rb', line 11

def to_characters(num)
  num = num.to_i
  repetition = num > size ? calc_repetition(num) : 1
  real_num = num > size ? num % size : num
  real_num = size if real_num == 0
  char = characters[real_num - 1]
  options[:repeat] ? char * repetition : char
end