Class: BetaCode

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

Class Method Summary collapse

Class Method Details

.beta_code_to_greek(beta_code) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/beta_code.rb', line 8

def self.beta_code_to_greek(beta_code)
  beta_code_characters = beta_code.chars
  greek_characters = []
  start = 0

  while start <= beta_code_characters.length
    current_character = beta_code_characters[start]
    new_start = start + 1
    max_length = [beta_code_characters.length, start + max_beta_code_character_length].min

    last = new_start
    while last <= max_length
      slice = beta_code_characters[start...last].join('')

      if beta_code_to_unicode_map[slice]
        current_character = beta_code_to_unicode_map[slice]
        new_start = last
      end

      last += 1
    end

    greek_characters << current_character
    start = new_start
  end

  sigma_to_end_of_word_sigma(greek_characters.join(''))
end

.greek_to_beta_code(greek) ⇒ Object



4
5
6
# File 'lib/beta_code.rb', line 4

def self.greek_to_beta_code(greek)
  greek.unicode_normalize.chars.map { |c| unicode_to_beta_code_map[c] || c }.join('')
end