class Sheng::Filters::CurrencyFormattingFilter

Public Instance Methods

filter(value) click to toggle source
# File lib/sheng/filters/currency_formatting_filter.rb, line 8
def filter(value)
  return value unless Sheng::Support.is_numeric?(value)
  value = Sheng::Support.typecast_numeric(value)

  integer, fractional = ("%00.2f" % value).split(".")

  if integer.length > 3
    insert_commas(integer)
  end

  "#{arguments.first}#{integer}.#{fractional}"
end

Private Instance Methods

insert_commas(integer) click to toggle source
# File lib/sheng/filters/currency_formatting_filter.rb, line 23
def insert_commas(integer)
  integer.reverse!.gsub!(/(\d{3})(?=\d)/, '\\1,').reverse!
end