Sha256: 9fdc1b72462f851c8a53869f8ed753f88451de2beb5baaaa29921d788b5b6933

Contents?: true

Size: 832 Bytes

Versions: 46

Compression:

Stored size: 832 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

# include the extension
Integer.send(:include, FixnumConcern)

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
thecore-1.7.7 lib/integer_extensions.rb
thecore-1.7.5 lib/integer_extensions.rb
thecore-1.7.3 lib/integer_extensions.rb
thecore-1.7.2 lib/integer_extensions.rb
thecore-1.7.1 lib/integer_extensions.rb
thecore-1.7.0 lib/integer_extensions.rb
thecore-1.6.13 lib/integer_extensions.rb
thecore-1.6.10 lib/integer_extensions.rb
thecore-1.6.9 lib/integer_extensions.rb
thecore-1.6.8 lib/integer_extensions.rb
thecore-1.6.7 lib/integer_extensions.rb
thecore-1.6.5 lib/integer_extensions.rb
thecore-1.6.4 lib/integer_extensions.rb
thecore-1.6.3 lib/integer_extensions.rb
thecore-1.6.2 lib/integer_extensions.rb
thecore-1.6.1 lib/integer_extensions.rb
thecore-1.6.0 lib/integer_extensions.rb
thecore-1.5.14 lib/integer_extensions.rb
thecore-1.5.13 lib/integer_extensions.rb
thecore-1.5.12 lib/integer_extensions.rb