Class: GomaShika::LocaleGenerator::DateTimeGenerator
- Inherits:
-
Object
- Object
- GomaShika::LocaleGenerator::DateTimeGenerator
- Defined in:
- lib/goma_shika/locale_generator/date_time_generator.rb
Instance Method Summary collapse
- #compound_date_time_format(pattern_style, date_style, time_style) ⇒ Object
- #date_format(date_style) ⇒ Object
- #generate(format_descriptor) ⇒ Object
-
#initialize(locale) ⇒ DateTimeGenerator
constructor
A new instance of DateTimeGenerator.
- #time_format(time_style) ⇒ Object
Constructor Details
#initialize(locale) ⇒ DateTimeGenerator
Returns a new instance of DateTimeGenerator.
4 5 6 |
# File 'lib/goma_shika/locale_generator/date_time_generator.rb', line 4 def initialize(locale) @locale = locale end |
Instance Method Details
#compound_date_time_format(pattern_style, date_style, time_style) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/goma_shika/locale_generator/date_time_generator.rb', line 24 def compound_date_time_format(pattern_style, date_style, time_style) data_reader = TwitterCldr::DataReaders::DateTimeDataReader.new(@locale, pattern_style) pattern = data_reader.pattern date_reader = TwitterCldr::DataReaders::DateDataReader.new(@locale, date_style) time_reader = TwitterCldr::DataReaders::TimeDataReader.new(@locale, time_style) compound_pattern = pattern.gsub("{{date}}", date_reader.pattern).gsub("{{time}}", time_reader.pattern) cldr_to_strftime(compound_pattern) end |
#date_format(date_style) ⇒ Object
36 37 38 39 |
# File 'lib/goma_shika/locale_generator/date_time_generator.rb', line 36 def date_format(date_style) data_reader = TwitterCldr::DataReaders::DateDataReader.new(@locale, date_style) cldr_to_strftime(data_reader.pattern) end |
#generate(format_descriptor) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/goma_shika/locale_generator/date_time_generator.rb', line 8 def generate(format_descriptor) if format_descriptor.key?(:date_time) compound_date_time_format( format_descriptor[:date_time][:pattern_style], format_descriptor[:date_time][:date_style], format_descriptor[:date_time][:time_style] ) elsif format_descriptor.key?(:date) date_format(format_descriptor[:date]) elsif format_descriptor.key?(:time) time_format(format_descriptor[:time]) else raise ArgumentError, "Invalid format descriptor" end end |
#time_format(time_style) ⇒ Object
41 42 43 44 |
# File 'lib/goma_shika/locale_generator/date_time_generator.rb', line 41 def time_format(time_style) data_reader = TwitterCldr::DataReaders::TimeDataReader.new(@locale, time_style) cldr_to_strftime(data_reader.pattern) end |