Sha256: 095fb679a508da1c49460691f19360093d318c4a962de390e8aceafba9fa9924

Contents?: true

Size: 858 Bytes

Versions: 8

Compression:

Stored size: 858 Bytes

Contents

require 'active_support'
require 'active_support/number_helper' # for number_to_rounded

module Squid
  module Format
    include ActiveSupport::NumberHelper

    def format_for(value, format)
      case format
        when :percentage then number_to_percentage value, precision: 1
        when :currency then number_to_currency value
        when :seconds then number_to_minutes_and_seconds value
        when :float then number_to_float value
        else number_to_delimited value.to_i
      end.to_s
    end

    def number_to_minutes_and_seconds(value)
      return unless value
      signum = '-' if value < 0
      "#{signum}#{value.abs.round/60}:#{(value.abs.round%60).to_s.rjust 2, '0'}"
    end

    def number_to_float(value)
      float = number_to_rounded value, significant: true, precision: 2
      number_to_delimited float
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
squid-1.4.1 lib/squid/format.rb
squid-1.4.0 lib/squid/format.rb
squid-1.3.0 lib/squid/format.rb
squid-1.2.0 lib/squid/format.rb
squid-1.1.0 lib/squid/format.rb
squid-1.0.1 lib/squid/format.rb
squid-1.0.0 lib/squid/format.rb
squid-1.0.0.beta4 lib/squid/format.rb