# File lib/i18n/backend/cldr.rb, line 22 22: def format_currency(locale, object, format = :default, options = {}) 23: options.merge!(:currency => lookup_currency(locale, options[:currency], object)) if options[:currency].is_a?(Symbol) 24: formatter(locale, :currency, format).apply(object, options) 25: end
# File lib/i18n/backend/cldr.rb, line 31 31: def format_date(locale, object, format = :default, options = {}) 32: formatter(locale, :date, format).apply(object, options) 33: end
# File lib/i18n/backend/cldr.rb, line 39 39: def format_datetime(locale, object, format = :default, options = {}) 40: key = :"calendars.gregorian.formats.datetime.#{format}.pattern" 41: date = I18n.l(object, :format => options[:date_format] || format, :locale => locale, :as => :date) 42: time = I18n.l(object, :format => options[:time_format] || format, :locale => locale, :as => :time) 43: I18n.t(key, :date => date, :time => time, :locale => locale, :raise => true) 44: end
# File lib/i18n/backend/cldr.rb, line 14 14: def format_decimal(locale, object, format = :default, options = {}) 15: formatter(locale, :decimal, format).apply(object, options) 16: end
# File lib/i18n/backend/cldr.rb, line 18 18: def format_integer(locale, object, format = :default, options = {}) 19: format_object(number, options.merge(:precision => 0)) 20: end
# File lib/i18n/backend/cldr.rb, line 27 27: def format_percent(locale, object, format = :default, options = {}) 28: formatter(locale, :percent, format).apply(object, options) 29: end
# File lib/i18n/backend/cldr.rb, line 35 35: def format_time(locale, object, format = :default, options = {}) 36: formatter(locale, :time, format).apply(object, options) 37: end
# File lib/i18n/backend/cldr.rb, line 9 9: def localize(locale, object, format = :default, options = {}) 10: options[:as] ||= detect_type(object, options) 11: send(:"format_#{options[:as]}", locale, object, format, options) 12: end
# File lib/i18n/backend/cldr.rb, line 48 48: def detect_type(object, options) 49: options.has_key?(:currency) ? :currency : case object 50: when ::Numeric 51: :decimal 52: when ::Date, ::DateTime, ::Time 53: object.class.name.downcase.to_sym 54: else 55: raise_unspecified_format_type! 56: end 57: end
# File lib/i18n/backend/cldr.rb, line 59 59: def formatter(locale, type, format) 60: (@formatters ||= {})[:"#{locale}.#{type}.#{format}"] ||= begin 61: format = lookup_format(locale, type, format) 62: data = lookup_format_data(locale, type) 63: ::Cldr::Format.const_get(type.to_s.camelize).new(format, data) 64: end 65: end
# File lib/i18n/backend/cldr.rb, line 87 87: def lookup_currency(locale, currency, count) 88: I18n.t(:"currencies.#{currency}", :locale => locale, :count => count) 89: end
# File lib/i18n/backend/cldr.rb, line 67 67: def lookup_format(locale, type, format) 68: key = case type 69: when :date, :time, :datetime 70: :"calendars.gregorian.formats.#{type}.#{format}.pattern" 71: else 72: :"numbers.formats.#{type}.patterns.#{format || :default}" 73: end 74: I18n.t(key, :locale => locale, :raise => true) 75: end
# File lib/i18n/backend/cldr.rb, line 77 77: def lookup_format_data(locale, type) 78: key = case type 79: when :date, :time, :datetime 80: :'calendars.gregorian' 81: else 82: :'numbers.symbols' 83: end 84: I18n.t(key, :locale => locale, :raise => true) 85: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.