Module: JactiveSupport::JavaExtensions::Date::Conversions::ClassMethods

Defined in:
lib/jactive_support/java_ext/date/conversions.rb

Instance Method Summary collapse

Instance Method Details

#format(format = :i18n, locale = nil) ⇒ Object



35
36
37
38
39
40
# File 'lib/jactive_support/java_ext/date/conversions.rb', line 35

def format(format=:i18n, locale=nil)
  return format(:default, locale) unless formatter = self::DATE_FORMATS[format]
  locale = locale.to_locale
  formatter = formatter.respond_to?(:call) ? (formatter.arity==2 ? formatter.call(self, locale) : formatter.call(self)) : self.pattern_formatter(formatter)
  formatter.to_pattern
end

#formatter(format = :i18n, locale = nil) ⇒ Object



42
43
44
45
46
# File 'lib/jactive_support/java_ext/date/conversions.rb', line 42

def formatter(format=:i18n, locale=nil)
  return formatter(:default, locale) unless formatter = self::DATE_FORMATS[format]
  locale = locale.to_locale
  formatter.respond_to?(:call) ? (formatter.arity==2 ? formatter.call(self, locale) : formatter.call(self)) : self.pattern_formatter(formatter)
end

#pattern_formatter(pattern, timezone = nil, locale = nil) ⇒ Object



48
49
50
51
52
53
# File 'lib/jactive_support/java_ext/date/conversions.rb', line 48

def pattern_formatter(pattern, timezone=nil, locale=nil)
  formatter = ::Java::JavaText::SimpleDateFormat.new(pattern, locale.to_locale)
  timezone = ::Java::JavaUtil::TimeZone.getTimeZone(timezone) unless timezone.nil? || timezone.is_a?(::Java::JavaUtil::TimeZone)
  formatter.setTimeZone(timezone) if timezone
  formatter
end