lib/twitter_cldr/js/renderers/data/calendars/timespan_renderer.rb (42 lines of code) (raw):

# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 module TwitterCldr module Js module Renderers module Data module Calendars class TimespanRenderer < TwitterCldr::Js::Renderers::Base def patterns [:ago, :until, :none].inject({}) do |final, direction| final[direction] = DataReaders::TimespanDataReader::VALID_UNITS.inject({}) do |unit_hash, unit| unit_hash[unit] = DataReaders::TimespanDataReader.all_types_for(locale, unit, direction).inject({}) do |type_hash, type| type_hash[type] = Formatters::Plurals::Rules.all_for(@locale).inject({}) do |rule_hash, rule| data_reader = DataReaders::TimespanDataReader.new( locale, 1, # the value doesn't matter since we provide :rule option :type => type, :direction => direction, :unit => unit, :rule => rule ) # rule_hash[rule] = data_reader.tokenizer.tokenize(data_reader.pattern).map(&:value) rule_hash[rule] = data_reader.pattern rule_hash end type_hash end unit_hash end final end end def get_data { :TimespanFormatter => { :patterns => patterns() } } end end end end end end end