Module: Kabal::RussianRules::FractionalNumbers
- Included in:
- Kabal::Russian
- Defined in:
- lib/kabal/languages/russian/fractional_numbers.rb
Instance Method Summary collapse
- #fractional_number_name(number) ⇒ Object
- #fractional_order_word(number) ⇒ Object
- #fractional_part_name(number) ⇒ Object
- #fractional_pre_word(number) ⇒ Object
- #fractional_ten_powers_name(number) ⇒ Object
- #need_pre_word?(number) ⇒ Boolean
- #whole_part_name(number) ⇒ Object
Instance Method Details
#fractional_number_name(number) ⇒ Object
4 5 6 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 4 def fractional_number_name(number) join_with_spaces whole_part_name(number), fractional_part_name(number) end |
#fractional_order_word(number) ⇒ Object
27 28 29 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 27 def fractional_order_word(number) names[:fractional_ten_powers][fractional_part_order(number) - (fractional_part_order(number) % 3)] end |
#fractional_part_name(number) ⇒ Object
8 9 10 11 12 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 8 def fractional_part_name(number) fractional_part = (number % 1).round(fractional_part_order(number)) fractional_order = ((fractional_part) * (10**fractional_part_order(number))).to_s.split('.')[0].to_i join_with_spaces feminine_natural_number_name(fractional_order, true), Declinations.name_with_declination(fractional_ten_powers_name(number), fractional_part) end |
#fractional_pre_word(number) ⇒ Object
31 32 33 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 31 def fractional_pre_word(number) names[:fractional_pre_words][fractional_part_order(number) % 3] end |
#fractional_ten_powers_name(number) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 19 def fractional_ten_powers_name(number) if need_pre_word? number fractional_pre_word(number) + fractional_order_word(number) else names[:fractional_ten_powers][fractional_part_order(number)] end end |
#need_pre_word?(number) ⇒ Boolean
35 36 37 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 35 def need_pre_word?(number) fractional_part_order(number) > 3 && fractional_part_order(number) % 3 != 0 end |
#whole_part_name(number) ⇒ Object
14 15 16 17 |
# File 'lib/kabal/languages/russian/fractional_numbers.rb', line 14 def whole_part_name(number) count = number.floor join_with_spaces feminine_natural_number_name(count), Declinations.name_with_declination(whole, count) end |