class NumbersAndWords::Strategies::FiguresConverter::Options::En::Pronounced

Attributes

options[RW]
strategy[RW]

Public Class Methods

new(proxy, *_args) click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 11
def initialize(proxy, *_args)
  @strategy = proxy.strategy
  @options = proxy.options
end

Public Instance Methods

active?() click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 16
def active?
  @options[:pronounced]
end
handle_hundreds(language, figures) click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 42
def handle_hundreds(language, figures)
  _units, _tens, hundreds = *figures.to_a.dup
  result = tens_with_oh language, figures
  result.push hundreds.to_words
end
handle_thousands(language, figures) click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 32
def handle_thousands(language, figures)
  _units, _tens, hundreds, thousands = *figures.to_a.dup
  if hundreds.zero?
    language.number_without_capacity_to_words + language.complex_number_to_words
  else
    result = tens_with_oh language, figures
    result.push "#{thousands}#{hundreds}".to_i.to_words
  end
end
process(language, figures) click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 20
def process(language, figures)
  if figures.capacity_count
    handle_thousands language, figures
  elsif figures.hundreds
    handle_hundreds language, figures
  elsif figures.tens || figures.ones
    language.simple_number_to_words
  else
    []
  end
end
tens_with_oh(language, figures) click to toggle source
# File lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb, line 48
def tens_with_oh(language, figures)
  units, tens = *figures.to_a.dup
  return (units.zero? ? ['hundred'] : [language.ones, 'oh']) if tens.zero?
  return [language.teens] if figures.teens

  [language.complex_tens]
end