Class: NumbersInWords::LanguageWriter

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

Direct Known Subclasses

English::LanguageWriterEnglish

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(that) ⇒ LanguageWriter

Returns a new instance of LanguageWriter.



6
7
8
# File 'lib/numbers_in_words/language_writer.rb', line 6

def initialize that
  @that = that
end

Instance Attribute Details

#thatObject (readonly)

Returns the value of attribute that.



3
4
5
# File 'lib/numbers_in_words/language_writer.rb', line 3

def that
  @that
end

Instance Method Details

#group_words(size) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/numbers_in_words/language_writer.rb', line 18

def group_words size
  #1000 and over Numbers are split into groups of three
  groups = NumberGroup.groups_of @that, size
  powers = groups.keys.sort.reverse #put in descending order

  powers.each do |power|
    name = powers_of_ten[power]
    digits = groups[power]
    yield power, name, digits
  end
end

#languageObject



10
11
12
13
14
15
16
# File 'lib/numbers_in_words/language_writer.rb', line 10

def language
  if @language.is_a? Module
    @language
  else
    @language = NumbersInWords.const_get(@language)
  end
end