Sha256: 17a50d136ce363ca1e4c9f6fae8ae0460427746305a747d04a0e6659a50dd6bd
Contents?: true
Size: 997 Bytes
Versions: 3
Compression:
Stored size: 997 Bytes
Contents
require_relative "base" require "active_support/number_helper" module Administrate module Field class Number < Field::Base def to_s result = data.nil? ? "-" : format_string % value result = format(result) if options[:format] prefix + result + suffix end private def format_string "%.#{decimals}f" end def prefix options[:prefix].to_s end def suffix options[:suffix].to_s end def decimals _left, right = data.to_s.split(".") default = right.nil? ? 0 : right.size options.fetch(:decimals, default) end def value data * options.fetch(:multiplier, 1) end def format(result) formatter = options[:format][:formatter] formatter_options = options[:format][:formatter_options].to_h ActiveSupport::NumberHelper .try(formatter, result, **formatter_options) || result end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
administrate-1.0.0.beta3 | lib/administrate/field/number.rb |
administrate-1.0.0.beta2 | lib/administrate/field/number.rb |
administrate-1.0.0.beta1 | lib/administrate/field/number.rb |