Sha256: 4bb9d98652e2a144ed9c36bebf009280128059eb590c3d90c54105dd45403997

Contents?: true

Size: 769 Bytes

Versions: 44

Compression:

Stored size: 769 Bytes

Contents

require 'active_support/concern'

module FixnumConcern
  extend ActiveSupport::Concern
  included do
    def to_tiered_times skip_seconds = false
      # Actual calculations
      mm, ss = self.divmod(60)
      hh, mm = mm.divmod(60)
      dd, hh = hh.divmod(24)

      # Presentation
      sentence = []
      sentence << I18n.t("tiered_times.dd", count: dd) unless dd.zero?
      sentence << I18n.t("tiered_times.hh", count: hh) unless hh.zero?
      sentence << I18n.t("tiered_times.mm", count: mm) unless mm.zero?
      sentence << I18n.t("tiered_times.ss", count: ss) if !ss.zero? && !skip_seconds

      # to_sentence è una estensione rails che traduce nella forma più corretta (decisamente migliore del join(", "))
      sentence.to_sentence
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
thecore_backend_commons-2.2.7 lib/patches/integer_extensions.rb
thecore_backend_commons-2.2.6 lib/patches/integer_extensions.rb
thecore_backend_commons-2.2.5 lib/patches/integer_extensions.rb
thecore_backend_commons-2.2.4 lib/patches/integer_extensions.rb