jactive_support 2.1.2 → 3.0.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c39c8b3381d4475cc5972dd50f0966f14a4c833f
4
- data.tar.gz: 165acb14634e466db40911642ec5754b70478e47
3
+ metadata.gz: 0297ee0a2e0b4672a75a7323a8b580cb0052b8a0
4
+ data.tar.gz: 8a5cbbe1f45df687f7895daf72156c2b8f4f8d43
5
5
  SHA512:
6
- metadata.gz: e084b13988997fb597295bb670a0a20085ff2310bc351190fcf440a520b4372342ebf66913330274194899aa9c931a27c428f12eec88437834cb5c2cd6b315ad
7
- data.tar.gz: 026e6aee94c4bcae70f5913e48d889e29f78fd5c8a25dcedbf097782ce9e77648beda3074c330dc321f2e46065683f7573aaf89c97ef131c7f1b0d89f1084b82
6
+ metadata.gz: a6e1ca038a4b8181f5edf6a15442be621e854f2ba86ab61fa8ec316896099cb2a9ad1bf34b8a628a5d2b87877b5bb8448e85f15262a81450f0e6d08856d0f528
7
+ data.tar.gz: df7b8f760490a155f85ace4721f12ca50f5dc125aaed4da9cc01a83220a2ea49d8240b84a954281e95f2808889a0c360ad4339bd50f9b6706a552348dc113d65
@@ -4,7 +4,7 @@ require "jactive_support/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "jactive_support"
7
- s.version = JActiveSupport::VERSION
7
+ s.version = JactiveSupport::VERSION
8
8
  s.author = "Brian Olsen"
9
9
  s.email = "brian@maven-group.org"
10
10
  s.homepage = "http://github.com/griff/jactive_support"
@@ -24,7 +24,7 @@ module JactiveSupport #:nodoc:
24
24
  begin
25
25
  other.find_value_of(self)
26
26
  rescue java::lang::IllegalArgumentException => e
27
- raise TypeError, e.cause.message
27
+ raise TypeError, e.message
28
28
  end
29
29
  else
30
30
  to_java_without_enum(other)
@@ -14,10 +14,4 @@ class NilClass #:nodoc:
14
14
  def <=>(other)
15
15
  other.nil? ? 0 : -1;
16
16
  end
17
- end
18
-
19
- class String #:nodoc:
20
- def <=>(other)
21
- other.nil? ? 1 : super;
22
- end
23
17
  end
@@ -0,0 +1,13 @@
1
+ require 'jactive_support/java_ext/to_java_time_zone'
2
+
3
+ class String
4
+ def to_java_time_zone
5
+ java::util::TimeZone.getTimeZone(self)
6
+ end
7
+ end
8
+
9
+ class Symbol
10
+ def to_java_time_zone
11
+ to_s.to_java_time_zone
12
+ end
13
+ end
@@ -1,43 +1,37 @@
1
- module JactiveSupport #:nodoc:
2
- module JavaExtensions #:nodoc:
3
- module Date #:nodoc:
4
- module Calculations
5
- CALCULATION_FIELDS = {
6
- :years => ::Java::JavaUtil::Calendar::YEAR,
7
- :months => ::Java::JavaUtil::Calendar::MONTH,
8
- :weeks => ::Java::JavaUtil::Calendar::WEEK_OF_YEAR,
9
- :days => ::Java::JavaUtil::Calendar::DAY_OF_MONTH,
10
- :hours => ::Java::JavaUtil::Calendar::HOUR_OF_DAY,
11
- :minutes => ::Java::JavaUtil::Calendar::MINUTE,
12
- :seconds => ::Java::JavaUtil::Calendar::SECOND,
13
- :millis => ::Java::JavaUtil::Calendar::MILLISECOND
14
- }
15
-
16
- def advance(options)
17
- cal = ::Java::JavaUtil::Calendar.getInstance
18
- cal.setTime(self)
19
- options.each do |field, value|
20
- cal.add(CALCULATION_FIELDS[field], value)
21
- end
22
- cal.getTime
23
- end
24
-
25
- def age(since=java.util.Date.new)
26
- difference(:years, since)
27
- end
28
-
29
- def difference(field=:years, since=java.util.Date.new)
30
- local_date = ::Java::OrgJodaTime::LocalDate.fromDateFields(self)
31
- since_date = ::Java::OrgJodaTime::LocalDate.fromDateFields(since)
32
- if field == :days
33
- return ::Java::OrgJodaTime::Days.daysBetween(local_date, since_date).getDays
34
- elsif field == :months
35
- return ::Java::OrgJodaTime::Months.monthsBetween(local_date, since_date).getMonths
36
- else
37
- return ::Java::OrgJodaTime::Years.yearsBetween(local_date, since_date).getYears
38
- end
39
- end
40
- end
1
+ class java::util::Date
2
+ CALCULATION_FIELDS = {
3
+ years: java::util::Calendar::YEAR,
4
+ months: java::util::Calendar::MONTH,
5
+ weeks: java::util::Calendar::WEEK_OF_YEAR,
6
+ days: java::util::Calendar::DAY_OF_MONTH,
7
+ hours: java::util::Calendar::HOUR_OF_DAY,
8
+ minutes: java::util::Calendar::MINUTE,
9
+ seconds: java::util::Calendar::SECOND,
10
+ millis: java::util::Calendar::MILLISECOND
11
+ }
12
+
13
+ def advance(options)
14
+ cal = java::util::Calendar.instance
15
+ cal.time = self
16
+ options.each do |field, value|
17
+ cal.add(CALCULATION_FIELDS[field], value)
18
+ end
19
+ cal.time
20
+ end
21
+
22
+ def age(since = Date.new)
23
+ difference(:years, since)
24
+ end
25
+
26
+ def difference(field = :years, since = Date.new)
27
+ local_date = org::joda::time::LocalDate.fromDateFields(self)
28
+ since_date = org::joda::time::LocalDate.fromDateFields(since)
29
+ if field == :days
30
+ return org::joda::time::Days.daysBetween(local_date, since_date).days
31
+ elsif field == :months
32
+ return org::joda::time::Months.monthsBetween(local_date, since_date).months
33
+ else
34
+ return org::joda::time::Years.yearsBetween(local_date, since_date).years
41
35
  end
42
36
  end
43
37
  end
@@ -1,137 +1,128 @@
1
1
  require 'active_support/core_ext/object/blank'
2
+ require 'jactive_support/java_ext/date/localize'
2
3
 
3
- module JactiveSupport #:nodoc:
4
- module JavaExtensions #:nodoc:
5
- module Date #:nodoc:
6
- # Converting dates to formatted strings, times, and datetimes.
7
- module Conversions
8
- DATE_FORMATS = {
9
- :db => "yyyy-MM-dd HH:mm:ss.SSS",
10
- :i18n => lambda { |clazz, locale|
11
- format = I18n.translate(:"formats.timestamp", :default=>'')
12
- !format.blank? ? clazz.pattern_formatter(format) : clazz.date_time_instance(:default, :default, locale)
13
- },
14
- :number => "yyyyMMddHHmmssSSS",
15
- :time => "HH:mm",
16
- :full => lambda { |clazz, locale| clazz.date_time_instance(:full, :full, locale) },
17
- :long => lambda { |clazz, locale| clazz.date_time_instance(:long, :long, locale) },
18
- :medium => lambda { |clazz, locale| clazz.date_time_instance(:medium, :medium, locale) },
19
- :short => lambda { |clazz, locale| clazz.date_time_instance(:short, :short, locale) },
20
- :default => lambda { |clazz, locale| clazz.date_time_instance(:default, :default, locale) },
21
- :long_ordinal => lambda { |clazz| clazz.pattern_formatter("MMMMMM #{time.day.ordinalize}, yyyy HH:mm") },
22
- :rfc822 => "EEE, dd MMM yyyy HH:mm:ss Z",
23
- :httpdate => lambda { |clazz| clazz.pattern_formatter("EEE, dd MMM yyyy HH:mm:ss z", "GMT", "EN") }
24
- }
4
+ class java::util::Date
5
+ DATE_FORMATS = {
6
+ :db => "yyyy-MM-dd HH:mm:ss.SSS",
7
+ :i18n => lambda { |clazz, locale| clazz.i18n_formatter(locale: locale) },
8
+ :number => "yyyyMMddHHmmssSSS",
9
+ :time => "HH:mm:ss",
10
+ :full => lambda { |clazz, locale| clazz.date_time_instance(:full, :full, locale) },
11
+ :long => lambda { |clazz, locale| clazz.date_time_instance(:long, :long, locale) },
12
+ :medium => lambda { |clazz, locale| clazz.date_time_instance(:medium, :medium, locale) },
13
+ :short => lambda { |clazz, locale| clazz.date_time_instance(:short, :short, locale) },
14
+ :default => lambda { |clazz, locale| clazz.date_time_instance(:default, :default, locale) },
15
+ :rfc822 => "EEE, dd MMM yyyy HH:mm:ss Z",
16
+ :httpdate => lambda { |clazz, locale|
17
+ fmt = clazz.pattern_formatter("EEE, dd MMM yyyy HH:mm:ss z", locale || 'EN')
18
+ fmt.time_zone = 'GMT'.to_java_time_zone
19
+ fmt
20
+ }
21
+ }
25
22
 
26
- def self.included(other) #:nodoc:
27
- other.class_eval do
28
- alias_method :to_default_s, :to_s
29
- alias_method :to_s, :to_formatted_s
30
- end
31
- other.extend ClassMethods
32
- end
23
+ def self.formatter(format = :i18n, options = {})
24
+ formatter = self::DATE_FORMATS[format] || formatter(:default, options)
25
+ if formatter.respond_to?(:call)
26
+ if formatter.arity == 2
27
+ formatter = formatter.call(self, options[:locale])
28
+ else
29
+ formatter = formatter.call(self)
30
+ end
31
+ elsif formatter.is_a?(String)
32
+ formatter = self.pattern_formatter(formatter, options[:locale])
33
+ end
34
+
35
+ if options[:time_zone] && formatter.respond_to?(:time_zone)
36
+ formatter.time_zone = options[:time_zone].to_java_time_zone
37
+ end
33
38
 
34
- module ClassMethods
35
- def format(format=:i18n, locale=nil)
36
- return format(:default, locale) unless formatter = self::DATE_FORMATS[format]
37
- locale = locale.to_locale
38
- formatter = formatter.respond_to?(:call) ? (formatter.arity==2 ? formatter.call(self, locale) : formatter.call(self)) : self.pattern_formatter(formatter)
39
- formatter.to_pattern
40
- end
39
+ formatter
40
+ end
41
41
 
42
- def formatter(format=:i18n, locale=nil)
43
- return formatter(:default, locale) unless formatter = self::DATE_FORMATS[format]
44
- locale = locale.to_locale
45
- formatter.respond_to?(:call) ? (formatter.arity==2 ? formatter.call(self, locale) : formatter.call(self)) : self.pattern_formatter(formatter)
46
- end
42
+ def self.format(format = :i18n, options = {})
43
+ formatter(format, options).to_pattern
44
+ end
47
45
 
48
- def pattern_formatter(pattern, timezone=nil, locale=nil)
49
- formatter = ::Java::JavaText::SimpleDateFormat.new(pattern, locale.to_locale)
50
- timezone = ::Java::JavaUtil::TimeZone.getTimeZone(timezone) unless timezone.nil? || timezone.is_a?(::Java::JavaUtil::TimeZone)
51
- formatter.setTimeZone(timezone) if timezone
52
- formatter
53
- end
54
- end
46
+ # Converts to a formatted string. See DATE_FORMATS for builtin formats.
47
+ #
48
+ # This method is aliased to <tt>to_s</tt>.
49
+ #
50
+ # time = java::util::Date.new # => Thu Jan 18 06:10:17 CST 2007
51
+ #
52
+ # time.to_formatted_s(:time) # => "06:10:17"
53
+ # time.to_s(:time) # => "06:10:17"
54
+ #
55
+ # time.to_formatted_s(:db) # => "2007-01-18 06:10:17.100"
56
+ # time.to_formatted_s(:number) # => "20070118061017100"
57
+ # time.to_formatted_s(:short) # => "18 Jan 06:10"
58
+ # time.to_formatted_s(:long) # => "January 18, 2007 06:10"
59
+ # time.to_formatted_s(:rfc822) # => "Thu, 18 Jan 2007 06:10:17 -0600"
60
+ #
61
+ # == Adding your own time formats to +to_formatted_s+
62
+ # You can add your own formats to the Time::DATE_FORMATS hash.
63
+ # Use the format name as the hash key and either a strftime string
64
+ # or Proc instance that takes a time argument as the value.
65
+ #
66
+ # # config/initializers/time_formats.rb
67
+ # Time::DATE_FORMATS[:month_and_year] = "%B %Y"
68
+ # Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") }
69
+ def to_formatted_s(format = :i18n, options = {})
70
+ return to_default_s unless self.class::DATE_FORMATS[format]
71
+ self.class.formatter(format, options).format(self)
72
+ end
73
+ alias_method :to_default_s, :to_s
74
+ alias_method :to_s, :to_formatted_s
55
75
 
56
- # Converts to a formatted string. See DATE_FORMATS for builtin formats.
57
- #
58
- # This method is aliased to <tt>to_s</tt>.
59
- #
60
- # time = Time.now # => Thu Jan 18 06:10:17 CST 2007
61
- #
62
- # time.to_formatted_s(:time) # => "06:10:17"
63
- # time.to_s(:time) # => "06:10:17"
64
- #
65
- # time.to_formatted_s(:db) # => "2007-01-18 06:10:17"
66
- # time.to_formatted_s(:number) # => "20070118061017"
67
- # time.to_formatted_s(:short) # => "18 Jan 06:10"
68
- # time.to_formatted_s(:long) # => "January 18, 2007 06:10"
69
- # time.to_formatted_s(:long_ordinal) # => "January 18th, 2007 06:10"
70
- # time.to_formatted_s(:rfc822) # => "Thu, 18 Jan 2007 06:10:17 -0600"
71
- #
72
- # == Adding your own time formats to +to_formatted_s+
73
- # You can add your own formats to the Time::DATE_FORMATS hash.
74
- # Use the format name as the hash key and either a strftime string
75
- # or Proc instance that takes a time argument as the value.
76
- #
77
- # # config/initializers/time_formats.rb
78
- # Time::DATE_FORMATS[:month_and_year] = "%B %Y"
79
- # Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") }
80
- def to_formatted_s(format=:i18n, locale=nil)
81
- return to_default_s unless formatter = self.class::DATE_FORMATS[format]
82
- locale = locale.to_locale
83
- formatter = formatter.respond_to?(:call) ? (formatter.arity==2 ? formatter.call(self.class, locale) : formatter.call(self.class)) : self.class.pattern_formatter(formatter)
84
- (formatter.respond_to?(:format) ? formatter.format(self) : formatter).to_s
85
- end
86
-
87
- def format(format=:i18n, locale=nil)
88
- self.class.format(format, locale)
89
- end
90
-
91
- def formatter(format=:i18n, locale=nil)
92
- self.class.formatter(format, locale)
93
- end
76
+ # Converts a java.util.Date object to a string using the given format pattern.
77
+ # The pattern syntax is from java.text.SimpleDateFormat
78
+ #
79
+ # my_time = java.util.Date.new # => Mon Nov 12 22:59:51 -0500 2007
80
+ # my_time.strformat('yyyy MMMMM') # => "2007 November"
81
+ def strformat(pattern, options = {})
82
+ formatter = self.class.pattern_formatter(pattern, options[:locale])
83
+ if options[:time_zone] && formatter.respond_to?(:time_zone)
84
+ formatter.time_zone = options[:time_zone].to_java_time_zone
85
+ end
86
+ formatter.format(self)
87
+ end
94
88
 
95
- def pattern_formatter(pattern, timezone=nil, locale=nil)
96
- self.class.pattern_formatter(pattern, timezone, locale)
97
- end
89
+ # Converts a java.util.Date object to a ruby Date, dropping hour, minute, and second precision.
90
+ #
91
+ # my_time = java.util.Date.new # => Mon Nov 12 22:59:51 -0500 2007
92
+ # my_time.to_date # => Mon, 12 Nov 2007
93
+ def to_date
94
+ to_time.to_date
95
+ end
98
96
 
99
- # Converts a java.util.Date object to a ruby Date, dropping hour, minute, and second precision.
100
- #
101
- # my_time = java.util.Date.new # => Mon Nov 12 22:59:51 -0500 2007
102
- # my_time.to_date # => Mon, 12 Nov 2007
103
- def to_date
104
- to_time.to_date
105
- end
97
+ # Converts a java.util.Date instance to a Time.
98
+ #
99
+ # ==== Examples
100
+ # date = java.util.Date.new # => Mon Nov 12 22:59:51 -0500 2007
101
+ # date.to_time # => Mon Nov 12 22:59:51 -0500 2007
102
+ def to_time
103
+ ::Time.at(self.getTime/1000)
104
+ end
106
105
 
107
- # Converts a java.util.Date instance to a Time.
108
- #
109
- # ==== Examples
110
- # date = java.util.Date.new # => Mon Nov 12 22:59:51 -0500 2007
111
- # date.to_time # => Mon Nov 12 22:59:51 -0500 2007
112
- def to_time
113
- ::Time.at(self.getTime/1000)
114
- end
106
+ # Converts a java.util.Date instance to a Ruby DateTime instance, preserving UTC offset.
107
+ #
108
+ # my_time = Time.now # => Mon Nov 12 23:04:21 -0500 2007
109
+ # my_time.to_datetime # => Mon, 12 Nov 2007 23:04:21 -0500
110
+ #
111
+ # your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
112
+ # your_time.to_datetime # => Tue, 13 Jan 2009 13:13:03 -0500
113
+ def to_datetime
114
+ to_time.to_datetime
115
+ end
116
+
117
+ def to_java_sqldate
118
+ java::sql::Date.new(time)
119
+ end
120
+
121
+ def httpdate
122
+ to_formatted_s(:httpdate)
123
+ end
115
124
 
116
- # Converts a java.util.Date instance to a Ruby DateTime instance, preserving UTC offset.
117
- #
118
- # my_time = Time.now # => Mon Nov 12 23:04:21 -0500 2007
119
- # my_time.to_datetime # => Mon, 12 Nov 2007 23:04:21 -0500
120
- #
121
- # your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
122
- # your_time.to_datetime # => Tue, 13 Jan 2009 13:13:03 -0500
123
- def to_datetime
124
- to_time.to_datetime
125
- end
126
-
127
- def to_java_sqldate
128
- java.sql.Date.new(getTime)
129
- end
130
-
131
- def httpdate
132
- to_formatted_s(:httpdate)
133
- end
134
- end
135
- end
125
+ def acts_like_time?
126
+ true
136
127
  end
137
- end
128
+ end
@@ -0,0 +1,37 @@
1
+ require 'jactive_support/core_ext/locale'
2
+
3
+ class java::util::Date
4
+ FULL_STYLE = java::text::DateFormat::FULL
5
+ LONG_STYLE = java::text::DateFormat::LONG
6
+ MEDIUM_STYLE = java::text::DateFormat::MEDIUM
7
+ SHORT_STYLE = java::text::DateFormat::SHORT
8
+ DEFAULT_STYLE = java::text::DateFormat::DEFAULT
9
+
10
+ STYLE = {
11
+ :full => FULL_STYLE,
12
+ :long => LONG_STYLE,
13
+ :medium => MEDIUM_STYLE,
14
+ :short => SHORT_STYLE,
15
+ :default => DEFAULT_STYLE
16
+ }
17
+
18
+ def self.default_formatter(locale)
19
+ date_time_instance(:default, :default, locale)
20
+ end
21
+
22
+ def self.date_time_instance(date_style = :default, time_style = :default, locale = nil)
23
+ java::text::DateFormat.getDateTimeInstance(STYLE[date_style], STYLE[time_style], locale.to_locale)
24
+ end
25
+
26
+ def self.time_instance(time_style = :default, locale = nil)
27
+ java::text::DateFormat.getTimeInstance(STYLE[time_style], locale.to_locale)
28
+ end
29
+
30
+ def self.date_instance(date_style = :default, locale = nil)
31
+ java::text::DateFormat.getDateInstance(STYLE[date_style], locale.to_locale)
32
+ end
33
+
34
+ def self.pattern_formatter(pattern, locale=nil)
35
+ java::text::SimpleDateFormat.new(pattern, locale.to_locale)
36
+ end
37
+ end
@@ -0,0 +1,12 @@
1
+ require 'jactive_support/localize'
2
+ require 'jactive_support/java_ext/date/formatters'
3
+ require 'jactive_support/core_ext/to_java_time_zone'
4
+ require 'i18n'
5
+
6
+ class java::util::Date
7
+ include JactiveSupport::Localize
8
+
9
+ def self.i18n_scope
10
+ :java_date
11
+ end
12
+ end
@@ -1,37 +1,4 @@
1
- require 'jactive_support/java_ext/date/calculations'
1
+ require 'jactive_support/java_ext/date/formatters'
2
+ require 'jactive_support/java_ext/date/localize'
2
3
  require 'jactive_support/java_ext/date/conversions'
3
-
4
- class java::util::Date
5
- include JactiveSupport::JavaExtensions::Date::Calculations
6
- include JactiveSupport::JavaExtensions::Date::Conversions
7
-
8
- FULL_STYLE = java::text::DateFormat::FULL
9
- LONG_STYLE = java::text::DateFormat::LONG
10
- MEDIUM_STYLE = java::text::DateFormat::MEDIUM
11
- SHORT_STYLE = java::text::DateFormat::SHORT
12
- DEFAULT_STYLE = java::text::DateFormat::DEFAULT
13
-
14
- STYLE = {
15
- :full => FULL_STYLE,
16
- :long => LONG_STYLE,
17
- :medium => MEDIUM_STYLE,
18
- :short => SHORT_STYLE,
19
- :default => DEFAULT_STYLE
20
- }
21
-
22
- def acts_like_time?
23
- true
24
- end
25
-
26
- def self.date_time_instance(date_style=:default, time_style=:default, locale=nil)
27
- java::text::DateFormat.getDateTimeInstance(STYLE[date_style], STYLE[time_style], locale.to_locale)
28
- end
29
-
30
- def self.time_instance(time_style=:default, locale=nil)
31
- java::text::DateFormat.getTimeInstance(STYLE[time_style], locale.to_locale)
32
- end
33
-
34
- def self.date_instance(date_style=:default, locale=nil)
35
- java::text::DateFormat.getDateInstance(STYLE[date_style], locale.to_locale)
36
- end
37
- end
4
+ require 'jactive_support/java_ext/date/calculations'
@@ -1,35 +1,28 @@
1
- require 'active_support/core_ext/object/blank'
1
+ require 'jactive_support/java_ext/date/conversions'
2
2
 
3
- module JactiveSupport #:nodoc:
4
- module JavaExtensions #:nodoc:
5
- module SqlDate #:nodoc:
6
- # Converting dates to formatted strings, times, and datetimes.
7
- module Conversions
8
- DATE_FORMATS = {
9
- :db => "yyyy-MM-dd",
10
- :i18n => lambda { |clazz, locale|
11
- format = I18n.translate(:"formats.date", :default=>'')
12
- !format.blank? ? clazz.pattern_formatter(format) : clazz.date_instance(:default, locale)
13
- },
14
- :number => "yyyyMMdd",
15
- :full => lambda { |clazz, locale| clazz.date_instance(:full, locale) },
16
- :long => lambda { |clazz, locale| clazz.date_instance(:long, locale) },
17
- :medium => lambda { |clazz, locale| clazz.date_instance(:medium, locale) },
18
- :short => lambda { |clazz, locale| clazz.date_instance(:short, locale) },
19
- :default => lambda { |clazz, locale| clazz.date_instance(:default, locale) },
20
- :long_ordinal => lambda { |clazz| clazz.pattern_formatter("MMMMMM #{time.day.ordinalize}, yyyy HH:mm") },
21
- :rfc822 => "EEE, dd MMM yyyy HH:mm:ss Z",
22
- :httpdate => lambda { |clazz| clazz.pattern_formatter("EEE, dd MMM yyyy HH:mm:ss z", "GMT", "EN") }
23
- }
24
-
25
- def to_java_sqldate
26
- self
27
- end
28
-
29
- def acts_like_time?
30
- false
31
- end
32
- end
33
- end
3
+ class java::sql::Date
4
+ DATE_FORMATS = {
5
+ :db => "yyyy-MM-dd",
6
+ :i18n => lambda { |clazz, locale| clazz.i18n_formatter(locale) },
7
+ :number => "yyyyMMdd",
8
+ :full => lambda { |clazz, locale| clazz.date_instance(:full, locale) },
9
+ :long => lambda { |clazz, locale| clazz.date_instance(:long, locale) },
10
+ :medium => lambda { |clazz, locale| clazz.date_instance(:medium, locale) },
11
+ :short => lambda { |clazz, locale| clazz.date_instance(:short, locale) },
12
+ :default => lambda { |clazz, locale| clazz.date_instance(:default, locale) },
13
+ :rfc822 => "EEE, dd MMM yyyy HH:mm:ss Z",
14
+ :httpdate => lambda { |clazz, locale|
15
+ fmt = clazz.pattern_formatter("EEE, dd MMM yyyy HH:mm:ss z", locale || 'EN')
16
+ fmt.time_zone = 'GMT'.to_java_time_zone
17
+ fmt
18
+ }
19
+ }
20
+
21
+ def to_java_sqldate
22
+ self
23
+ end
24
+
25
+ def acts_like_time?
26
+ false
34
27
  end
35
- end
28
+ end
@@ -0,0 +1,21 @@
1
+ require 'jactive_support/java_ext/date/localize'
2
+
3
+ class java::sql::Date
4
+ def self.i18n_scope
5
+ :sql_date
6
+ end
7
+
8
+ def self.default_formatter(locale)
9
+ date_instance(:default, locale)
10
+ end
11
+
12
+ def self.parse(str, options = {})
13
+ date = super
14
+ self.new(date.time)
15
+ end
16
+
17
+ def self.parse_i18n(str, options = {})
18
+ date = super
19
+ self.new(date.time)
20
+ end
21
+ end
@@ -1,5 +1,2 @@
1
1
  require 'jactive_support/java_ext/sql_date/conversions'
2
-
3
- class java::sql::Date
4
- include JactiveSupport::JavaExtensions::SqlDate::Conversions
5
- end
2
+ require 'jactive_support/java_ext/sql_date/localize'
@@ -0,0 +1,5 @@
1
+ class java::util::TimeZone
2
+ def to_java_time_zone
3
+ self
4
+ end
5
+ end
@@ -0,0 +1,70 @@
1
+ require 'active_support/concern'
2
+
3
+ module JactiveSupport
4
+ # Makes a class support localize and class parse method
5
+ # It expects class 3 methods be implemented on the class.
6
+ # i18n_scope - The scope to use for translations
7
+ # pattern_formatter(format, locale) - returns a formatter based on a pattern
8
+ # default_formatter(locale) - returns a default formatter when the format is blank
9
+ module Localize
10
+ extend ActiveSupport::Concern
11
+
12
+ included do
13
+ class << self
14
+ alias :parse_original :parse
15
+ alias :parse :parse_i18n
16
+ end
17
+ end
18
+
19
+ module ClassMethods
20
+ def i18n_formatter(options = {})
21
+ format = options[:format] || :default
22
+ locale = options.fetch(:locale, ::I18n.locale)
23
+ if Symbol === format
24
+ key = format
25
+ options = options.merge(raise: true, object: self)
26
+ format = ::I18n.t("#{self.i18n_scope}.formats.#{key}", options)
27
+ end
28
+ if format.blank?
29
+ formatter = default_formatter(locale)
30
+ else
31
+ formatter = pattern_formatter(format, locale)
32
+ end
33
+
34
+ if options[:time_zone] && formatter.respond_to?(:time_zone)
35
+ formatter.time_zone = options[:time_zone].to_java_time_zone
36
+ end
37
+
38
+ formatter
39
+ end
40
+
41
+ def parse_i18n(str, options = {})
42
+ unless options[:format]
43
+ defaults = [
44
+ :"#{self.i18n_scope}.formats.default",
45
+ options.delete(:default)]
46
+ defaults.compact!
47
+ defaults.flatten!
48
+ options[:default] = defaults unless defaults.empty?
49
+ options[:format] = :input
50
+ end
51
+ formatter = i18n_formatter(options)
52
+ formatter.parse(str)
53
+ end
54
+ end
55
+
56
+ def localize(options = {})
57
+ unless options[:format]
58
+ defaults = [
59
+ :"#{self.class.i18n_scope}.formats.default",
60
+ options.delete(:default)]
61
+ defaults.compact!
62
+ defaults.flatten!
63
+ options[:default] = defaults unless defaults.empty?
64
+ options[:format] = :output
65
+ end
66
+ formatter = self.class.i18n_formatter(options)
67
+ formatter.format(self)
68
+ end
69
+ end
70
+ end
@@ -1,3 +1,3 @@
1
- module JActiveSupport
2
- VERSION = "2.1.2"
1
+ module JactiveSupport
2
+ VERSION = "3.0.0.pre1"
3
3
  end
@@ -5,3 +5,4 @@ require 'jactive_support/core_ext'
5
5
  require 'jactive_support/json'
6
6
  require 'jactive_support/rescuable'
7
7
  require 'jactive_support/constantize'
8
+ require 'jactive_support/java_blamable'
@@ -0,0 +1,51 @@
1
+ require File.expand_path('../../../shared/fixtures', __FILE__)
2
+ require 'jactive_support/java_ext/date/localize'
3
+
4
+ setup_date_translations
5
+ describe "java::util::Date#localize" do
6
+ it "localizes date with format" do
7
+ date = java::util::Date.new(1192140000000)
8
+ date.localize(format: 'yyyy').should == '2007'
9
+ end
10
+
11
+ it "localizes date with symbol format" do
12
+ date = java::util::Date.new(1192140000000)
13
+ date.localize(format: :short).should == '12. Oct'
14
+ end
15
+
16
+ it "localizes date with default date time format" do
17
+ date = java::sql::Date.new(1192140000000)
18
+ date.localize(format: '').should == 'Oct 12, 2007 12:00:00 AM'
19
+ end
20
+
21
+ it "fails with missing symbol format" do
22
+ date = java::util::Date.new(1192140000000)
23
+ expect { date.localize(format: :miss) }.to raise_error(I18n::MissingTranslationData)
24
+ end
25
+
26
+ it "localizes date with default" do
27
+ date = java::util::Date.new(1192140000000)
28
+ date.localize(default: 'yyyy', locale: :da).should == '2007'
29
+ end
30
+
31
+ it "localizes date" do
32
+ date = java::util::Date.new(1192140000000)
33
+ date.localize.should == '00:00:00.000 12/10/2007'
34
+ end
35
+
36
+ it "localizes date ignores default when localized" do
37
+ date = java::util::Date.new(1192140000000)
38
+ date.localize(default: 'yyyy').should == '00:00:00.000 12/10/2007'
39
+ end
40
+
41
+ it "localizes with time zone" do
42
+ date = java::util::Date.new(1192140000000)
43
+ date.localize(time_zone: 'GMT').should == '22:00:00.000 11/10/2007'
44
+ end
45
+
46
+ it "localizes using output format first" do
47
+ date = java::util::Date.new(1192140000000)
48
+ date.localize(format: :default, locale: :sv).should == '00:00:00.000 12-10-07'
49
+ date.localize(locale: :sv).should == '00:00:00.000 12-10-2007'
50
+ end
51
+ end
@@ -0,0 +1,55 @@
1
+ require File.expand_path('../../../shared/fixtures', __FILE__)
2
+ require 'jactive_support/java_ext/date/localize'
3
+
4
+ setup_date_translations
5
+ describe "java::util::Date.parse" do
6
+ it "parses date with format" do
7
+ date = java::util::Date.parse('2007', format: 'yyyy')
8
+ date.localize.should == '00:00:00.000 01/01/2007'
9
+ end
10
+
11
+ it "parses date with symbol format" do
12
+ date = java::util::Date.parse('12. Oct', format: :short)
13
+ date.localize.should == '00:00:00.000 12/10/1970'
14
+ end
15
+
16
+ it "fails with missing symbol format" do
17
+ expect { java::util::Date.parse('12. Oct', format: :miss) }.to raise_error(I18n::MissingTranslationData)
18
+ end
19
+
20
+ it "parses date with default" do
21
+ date = java::util::Date.parse('2007', default: 'yyyy', locale: :da)
22
+ date.localize.should == '00:00:00.000 01/01/2007'
23
+ end
24
+
25
+ it "parses date" do
26
+ date = java::util::Date.parse('00:00:00.000 12/10/2007')
27
+ date.localize.should == '00:00:00.000 12/10/2007'
28
+ end
29
+
30
+ it "parses date with suffix" do
31
+ date = java::util::Date.parse('00:00:00.000 12/10/2007muh')
32
+ date.localize.should == '00:00:00.000 12/10/2007'
33
+ end
34
+
35
+ it "parses date ignores default when localized" do
36
+ date = java::util::Date.parse('00:00:00.000 12/10/2007', default: 'yyyy')
37
+ date.localize.should == '00:00:00.000 12/10/2007'
38
+ end
39
+
40
+ it "parses with time zone" do
41
+ date = java::util::Date.parse('00:00:00.000 12/10/2007', time_zone: 'GMT')
42
+ date.localize.should == '02:00:00.000 12/10/2007'
43
+ end
44
+
45
+ it "parses using input format first" do
46
+ date = java::util::Date.parse('00:00:00.000 12.10.07', format: :default, locale: :fr)
47
+ date.localize.should == '00:00:00.000 12/10/0007'
48
+ date = java::util::Date.parse('00:00:00.000 12.10.07', locale: :fr)
49
+ date.localize.should == '00:00:00.000 12/10/2007'
50
+ end
51
+
52
+ it "fails with parse exception on wrong format" do
53
+ expect { java::util::Date.parse('12. Oct') }.to raise_error(java::text::ParseException)
54
+ end
55
+ end
@@ -0,0 +1,39 @@
1
+ require 'jactive_support/java_ext/date/conversions'
2
+
3
+ describe "java::util::Date#strformat" do
4
+ it "formats year" do
5
+ date = java::util::Date.new(1192140000000)
6
+ date.strformat('yyyy').should == '2007'
7
+ end
8
+
9
+ it "formats month" do
10
+ date = java::util::Date.new(1192140000000)
11
+ date.strformat('MM').should == '10'
12
+ end
13
+
14
+ it "formats abbreviated month" do
15
+ date = java::util::Date.new(1192140000000)
16
+ date.strformat('MMM', locale: 'en').should == 'Oct'
17
+ end
18
+
19
+ it "formats danish abbreviated month" do
20
+ date = java::util::Date.new(1192140000000)
21
+ date.strformat('MMM', locale: 'da_DK'.to_locale).should == 'okt'
22
+ end
23
+
24
+ it "formats fulle month" do
25
+ date = java::util::Date.new(1192140000000)
26
+ date.strformat('MMMM', locale: 'en').should == 'October'
27
+ end
28
+
29
+ it "formats danish full month" do
30
+ date = java::util::Date.new(1192140000000)
31
+ date.strformat('MMMM', locale: 'da_DK'.to_locale).should == 'oktober'
32
+ end
33
+
34
+ it "formats rfc822 date" do
35
+ date = java::util::Date.new(1192140000000)
36
+ date.strformat('EEE, dd MMM yyyy HH:mm:ss Z', locale: 'en', timezone: 'CET')
37
+ .should == 'Fri, 12 Oct 2007 00:00:00 +0200'
38
+ end
39
+ end
@@ -0,0 +1,58 @@
1
+ require File.expand_path('../../../shared/fixtures', __FILE__)
2
+ require 'jactive_support/java_ext/date/conversions'
3
+
4
+ describe "java::util::Date#to_formatted_s" do
5
+ it "formats using locale format" do
6
+ setup_date_translations
7
+ date = java::util::Date.new(1192140000000)
8
+ date.to_formatted_s(:i18n).should == '00:00:00.000 12/10/2007'
9
+ end
10
+
11
+ it "formats using locale format using locale" do
12
+ setup_date_translations
13
+ date = java::util::Date.new(1192140000000)
14
+ date.to_formatted_s(:i18n, locale: :de).should == '00:00:00.000 12.10.2007'
15
+ end
16
+
17
+ it "formats using locale format using locale and time zone" do
18
+ setup_date_translations
19
+ date = java::util::Date.new(1192140000000)
20
+ date.to_formatted_s(:i18n, locale: :de, time_zone: 'GMT').should == '22:00:00.000 11.10.2007'
21
+ end
22
+
23
+ it "formats using default format" do
24
+ setup_date_translations
25
+ date = java::util::Date.new(1192140000000)
26
+ date.to_formatted_s(:default).should == 'Oct 12, 2007 12:00:00 AM'
27
+ end
28
+
29
+ it "formats using default format using locale" do
30
+ setup_date_translations
31
+ date = java::util::Date.new(1192140000000)
32
+ date.to_formatted_s(:default, locale: :de).should == '12.10.2007 00:00:00'
33
+ end
34
+
35
+ it "formats using default format using locale and time zone" do
36
+ setup_date_translations
37
+ date = java::util::Date.new(1192140000000)
38
+ date.to_formatted_s(:default, locale: :de, time_zone: 'GMT').should == '11.10.2007 22:00:00'
39
+ end
40
+
41
+ it "formats unknown format using default" do
42
+ setup_date_translations
43
+ date = java::util::Date.new(1192140000000)
44
+ date.to_formatted_s(:muh).should == date.to_default_s
45
+ end
46
+
47
+ it "formats db with string" do
48
+ setup_date_translations
49
+ date = java::util::Date.new(1192140000000)
50
+ date.to_formatted_s(:db).should == '2007-10-12 00:00:00.000'
51
+ end
52
+
53
+ it "formats httpdate" do
54
+ setup_date_translations
55
+ date = java::util::Date.new(1192140000000)
56
+ date.to_formatted_s(:httpdate).should == 'Thu, 11 Oct 2007 22:00:00 GMT'
57
+ end
58
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../../../shared/fixtures', __FILE__)
2
+ require 'jactive_support/java_ext/sql_date/localize'
3
+
4
+ setup_date_translations
5
+ describe "java::sql::Date#localize" do
6
+ it "localizes sql date format" do
7
+ date = java::sql::Date.new(1192140000000)
8
+ date.localize.should == '12/10/2007'
9
+ end
10
+
11
+ it "localizes sql date with default date format" do
12
+ date = java::sql::Date.new(1192140000000)
13
+ date.localize(format: '').should == 'Oct 12, 2007'
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../../../shared/fixtures', __FILE__)
2
+ require 'jactive_support/java_ext/sql_date/localize'
3
+
4
+ setup_date_translations
5
+ describe "java::sql::Date.parse" do
6
+ it "parses sql date with format" do
7
+ date = java::sql::Date.parse('2007', format: 'yyyy')
8
+ date.localize.should == '01/01/2007'
9
+ end
10
+
11
+ it "localizes sql date with default date format" do
12
+ date = java::sql::Date.parse('Oct 12, 2007', format: '')
13
+ date.localize.should == '12/10/2007'
14
+ end
15
+ end
@@ -1,7 +1,53 @@
1
+ require 'i18n'
2
+
1
3
  def enumerator_class
2
4
  [].each.class
3
5
  end
4
6
 
5
7
  def ruby_bug(*args)
6
8
  yield
7
- end
9
+ end
10
+
11
+ I18n.locale = :en
12
+ java::util::Locale.default = java::util::Locale.new('en')
13
+ def setup_date_translations
14
+ I18n.backend.store_translations :en, {
15
+ :java_date => {
16
+ :formats => {
17
+ :default => 'HH:mm:ss.SSS dd/MM/yyyy',
18
+ :short => 'dd. MMM',
19
+ :long => 'dd. MMMM yyyy',
20
+ },
21
+ },
22
+ :sql_date => {
23
+ :formats => {
24
+ :default => 'dd/MM/yyyy'
25
+ }
26
+ }
27
+ }
28
+ I18n.backend.store_translations :de, {
29
+ :java_date => {
30
+ :formats => {
31
+ :default => 'HH:mm:ss.SSS dd.MM.yyyy',
32
+ :short => 'dd. MMM',
33
+ :long => 'dd. MMMM yyyy',
34
+ },
35
+ }
36
+ }
37
+ I18n.backend.store_translations :fr, {
38
+ :java_date => {
39
+ :formats => {
40
+ :default => 'HH:mm:ss.SSS dd.MM.yyyy',
41
+ :input => 'HH:mm:ss.SSS dd.MM.yy',
42
+ },
43
+ }
44
+ }
45
+ I18n.backend.store_translations :sv, {
46
+ :java_date => {
47
+ :formats => {
48
+ :default => 'HH:mm:ss.SSS dd-MM-yy',
49
+ :output => 'HH:mm:ss.SSS dd-MM-yyyy',
50
+ },
51
+ }
52
+ }
53
+ end
metadata CHANGED
@@ -1,85 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jactive_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 3.0.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Olsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-14 00:00:00.000000000 Z
11
+ date: 2014-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.1
14
20
  requirement: !ruby/object:Gem::Requirement
15
21
  requirements:
16
22
  - - '>='
17
23
  - !ruby/object:Gem::Version
18
24
  version: 3.2.1
19
- name: activesupport
20
25
  prerelease: false
21
26
  type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
22
29
  version_requirements: !ruby/object:Gem::Requirement
23
30
  requirements:
24
31
  - - '>='
25
32
  - !ruby/object:Gem::Version
26
- version: 3.2.1
27
- - !ruby/object:Gem::Dependency
33
+ version: 1.0.0
28
34
  requirement: !ruby/object:Gem::Requirement
29
35
  requirements:
30
36
  - - '>='
31
37
  - !ruby/object:Gem::Version
32
38
  version: 1.0.0
33
- name: bundler
34
39
  prerelease: false
35
40
  type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
36
43
  version_requirements: !ruby/object:Gem::Requirement
37
44
  requirements:
38
- - - '>='
45
+ - - ~>
39
46
  - !ruby/object:Gem::Version
40
- version: 1.0.0
41
- - !ruby/object:Gem::Dependency
47
+ version: 2.6.0
42
48
  requirement: !ruby/object:Gem::Requirement
43
49
  requirements:
44
50
  - - ~>
45
51
  - !ruby/object:Gem::Version
46
52
  version: 2.6.0
47
- name: rspec
48
53
  prerelease: false
49
54
  type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
50
57
  version_requirements: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ~>
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
- version: 2.6.0
55
- - !ruby/object:Gem::Dependency
61
+ version: 0.9.2
56
62
  requirement: !ruby/object:Gem::Requirement
57
63
  requirements:
58
64
  - - '>='
59
65
  - !ruby/object:Gem::Version
60
66
  version: 0.9.2
61
- name: rake
62
67
  prerelease: false
63
68
  type: :development
69
+ - !ruby/object:Gem::Dependency
70
+ name: jruby-openssl
64
71
  version_requirements: !ruby/object:Gem::Requirement
65
72
  requirements:
66
73
  - - '>='
67
74
  - !ruby/object:Gem::Version
68
- version: 0.9.2
69
- - !ruby/object:Gem::Dependency
75
+ version: '0'
70
76
  requirement: !ruby/object:Gem::Requirement
71
77
  requirements:
72
78
  - - '>='
73
79
  - !ruby/object:Gem::Version
74
80
  version: '0'
75
- name: jruby-openssl
76
81
  prerelease: false
77
82
  type: :development
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
83
  description: Extensions to add some activesupport flavor to java classes
84
84
  email: brian@maven-group.org
85
85
  executables: []
@@ -108,11 +108,14 @@ files:
108
108
  - lib/jactive_support/core_ext/to_java_list.rb
109
109
  - lib/jactive_support/core_ext/to_java_map.rb
110
110
  - lib/jactive_support/core_ext/to_java_sqldate.rb
111
+ - lib/jactive_support/core_ext/to_java_time_zone.rb
111
112
  - lib/jactive_support/java_blamable.rb
112
113
  - lib/jactive_support/java_ext.rb
113
114
  - lib/jactive_support/java_ext/date.rb
114
115
  - lib/jactive_support/java_ext/date/calculations.rb
115
116
  - lib/jactive_support/java_ext/date/conversions.rb
117
+ - lib/jactive_support/java_ext/date/formatters.rb
118
+ - lib/jactive_support/java_ext/date/localize.rb
116
119
  - lib/jactive_support/java_ext/enum.rb
117
120
  - lib/jactive_support/java_ext/iterable.rb
118
121
  - lib/jactive_support/java_ext/iterator.rb
@@ -125,11 +128,14 @@ files:
125
128
  - lib/jactive_support/java_ext/number.rb
126
129
  - lib/jactive_support/java_ext/sql_date.rb
127
130
  - lib/jactive_support/java_ext/sql_date/conversions.rb
131
+ - lib/jactive_support/java_ext/sql_date/localize.rb
132
+ - lib/jactive_support/java_ext/to_java_time_zone.rb
128
133
  - lib/jactive_support/json.rb
129
134
  - lib/jactive_support/json/encoders/collection.rb
130
135
  - lib/jactive_support/json/encoders/locale.rb
131
136
  - lib/jactive_support/json/encoders/map.rb
132
137
  - lib/jactive_support/json/encoding.rb
138
+ - lib/jactive_support/localize.rb
133
139
  - lib/jactive_support/rescuable.rb
134
140
  - lib/jactive_support/version.rb
135
141
  - spec/constantize_spec.rb
@@ -137,6 +143,10 @@ files:
137
143
  - spec/core_ext/module_spec.rb
138
144
  - spec/core_ext/ordering_spec.rb
139
145
  - spec/enum_spec.rb
146
+ - spec/java_ext/date/localize_spec.rb
147
+ - spec/java_ext/date/parse_spec.rb
148
+ - spec/java_ext/date/strformat_spec.rb
149
+ - spec/java_ext/date/to_formatted_s_spec.rb
140
150
  - spec/java_ext/iterable/clear_spec.rb
141
151
  - spec/java_ext/iterable/delete_if_spec.rb
142
152
  - spec/java_ext/iterable/empty_spec.rb
@@ -216,6 +226,8 @@ files:
216
226
  - spec/java_ext/map/value_spec.rb
217
227
  - spec/java_ext/map/values_at_spec.rb
218
228
  - spec/java_ext/map/values_spec.rb
229
+ - spec/java_ext/sql_date/localize_spec.rb
230
+ - spec/java_ext/sql_date/parse_spec.rb
219
231
  - spec/locale_spec.rb
220
232
  - spec/shared/fixtures.rb
221
233
  - spec/shared/version.rb
@@ -234,9 +246,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
246
  version: '0'
235
247
  required_rubygems_version: !ruby/object:Gem::Requirement
236
248
  requirements:
237
- - - '>='
249
+ - - '>'
238
250
  - !ruby/object:Gem::Version
239
- version: '0'
251
+ version: 1.3.1
240
252
  requirements: []
241
253
  rubyforge_project:
242
254
  rubygems_version: 2.1.9
@@ -249,6 +261,10 @@ test_files:
249
261
  - spec/core_ext/module_spec.rb
250
262
  - spec/core_ext/ordering_spec.rb
251
263
  - spec/enum_spec.rb
264
+ - spec/java_ext/date/localize_spec.rb
265
+ - spec/java_ext/date/parse_spec.rb
266
+ - spec/java_ext/date/strformat_spec.rb
267
+ - spec/java_ext/date/to_formatted_s_spec.rb
252
268
  - spec/java_ext/iterable/clear_spec.rb
253
269
  - spec/java_ext/iterable/delete_if_spec.rb
254
270
  - spec/java_ext/iterable/empty_spec.rb
@@ -328,6 +344,8 @@ test_files:
328
344
  - spec/java_ext/map/value_spec.rb
329
345
  - spec/java_ext/map/values_at_spec.rb
330
346
  - spec/java_ext/map/values_spec.rb
347
+ - spec/java_ext/sql_date/localize_spec.rb
348
+ - spec/java_ext/sql_date/parse_spec.rb
331
349
  - spec/locale_spec.rb
332
350
  - spec/shared/fixtures.rb
333
351
  - spec/shared/version.rb