module IceCube::StringBuilder::Helpers
Public Instance Methods
Source
# File lib/ice_cube/builders/string_builder.rb, line 56 def literal_ordinal(number) IceCube::I18n.t("ice_cube.integer.literal_ordinals")[number] end
Source
# File lib/ice_cube/builders/string_builder.rb, line 48 def nice_number(number) literal_ordinal(number) || ordinalize(number) end
Source
# File lib/ice_cube/builders/string_builder.rb, line 60 def ordinal(number) ord = IceCube::I18n.t("ice_cube.integer.ordinals")[number] || IceCube::I18n.t("ice_cube.integer.ordinals")[number % 10] || IceCube::I18n.t("ice_cube.integer.ordinals")[:default] (number >= 0) ? ord : IceCube::I18n.t("ice_cube.integer.negative", ordinal: ord) end
Source
# File lib/ice_cube/builders/string_builder.rb, line 52 def ordinalize(number) IceCube::I18n.t("ice_cube.integer.ordinal", number: number, ordinal: ordinal(number)) end
Source
# File lib/ice_cube/builders/string_builder.rb, line 39 def sentence(array) case array.length when 0 then "" when 1 then array[0].to_s when 2 then "#{array[0]}#{IceCube::I18n.t("ice_cube.array.two_words_connector")}#{array[1]}" else; "#{array[0...-1].join(IceCube::I18n.t("ice_cube.array.words_connector"))}#{IceCube::I18n.t("ice_cube.array.last_word_connector")}#{array[-1]}" end end
influenced by ActiveSupport’s to_sentence