class Administrate::Field::Number

Public Instance Methods

to_s() click to toggle source
# File lib/administrate/field/number.rb, line 7
def to_s
  result = data.nil? ? "-" : format_string % value
  result = format(result) if options[:format]
  prefix + result + suffix
end

Private Instance Methods

decimals() click to toggle source
# File lib/administrate/field/number.rb, line 27
def decimals
  _left, right = data.to_s.split(".")
  default = right.nil? ? 0 : right.size
  options.fetch(:decimals, default)
end
format(result) click to toggle source
# File lib/administrate/field/number.rb, line 37
def format(result)
  formatter = options[:format][:formatter]
  formatter_options = options[:format][:formatter_options].to_h

  case formatter
  when :number_to_delimited
    ActiveSupport::NumberHelper.number_to_delimited(
      result, **formatter_options
    )
  else
    result
  end
end
format_string() click to toggle source
# File lib/administrate/field/number.rb, line 15
def format_string
  "%.#{decimals}f"
end
prefix() click to toggle source
# File lib/administrate/field/number.rb, line 19
def prefix
  options[:prefix].to_s
end
suffix() click to toggle source
# File lib/administrate/field/number.rb, line 23
def suffix
  options[:suffix].to_s
end
value() click to toggle source
# File lib/administrate/field/number.rb, line 33
def value
  data * options.fetch(:multiplier, 1)
end