Sha256: 7145223b788e2456463cfad81619544f8dd001c1fe903c3419f01ff3dd370edf
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
module Dossier module Formatter include ActiveSupport::Inflector include ActionView::Helpers::NumberHelper extend self def number_to_currency_from_cents(value) number_to_currency(value /= 100.0) end def number_to_dollars(value) "$#{commafy_number(value, 2)}" end def commafy_number(value, precision = nil) whole, fraction = value.to_s.split('.') fraction = "%.#{precision}d" % (BigDecimal.new("0.#{fraction}").round(precision) * 10**precision).to_i if precision [whole.to_i.to_s.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1,"), fraction].compact.join('.') end def url_formatter @url_formatter ||= UrlFormatter.new end def report_name(report) titleize("#{report.report_name.split('/').last} Report") end # TODO figure out how to handle this better # reports rendered with a system layout use this link_to instead of the # correct one # delegate :url_for, :link_to, :url_helpers, to: :url_formatter class UrlFormatter include ActionView::Helpers::UrlHelper include ActionDispatch::Routing::UrlFor if defined?(ActionDispatch::Routing::UrlFor) # Rails 4.1 include ActionView::RoutingUrlFor if defined?(ActionView::RoutingUrlFor) # Rails 4.1 def _routes Rails.application.routes end # No controller in current context, must be specified when generating routes def controller end def url_helpers _routes.url_helpers end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dossier-2.12.0 | lib/dossier/formatter.rb |
dossier-2.11.0 | lib/dossier/formatter.rb |
dossier-2.10.0 | lib/dossier/formatter.rb |