Commit Graph

39 Commits

Author SHA1 Message Date
Pratik Naik
0432d15164 Merge with docrails. 2008-07-16 13:01:23 +01:00
gbuesing
3451045658 Fix TimeWithZone unmarshaling: coerce unmarshaled Time instances to utc, because Ruby's marshaling of Time instances doesn't respect the zone 2008-07-14 23:16:39 -05:00
gbuesing
6f1d827096 TimeWithZone#advance: treat :weeks option as variable-length 2008-06-29 15:28:34 -05:00
gbuesing
676d6a6514 TimeWithZone: when crossing DST boundary, treat Durations of days, months or years as variable-length, and all other values as absolute length. A time + 24.hours will advance exactly 24 hours, but a time + 1.day will advance 23-25 hours, depending on the day. Ensure consistent behavior across all advancing methods. 2008-06-29 15:21:40 -05:00
Jeremy Kemper
4e4bcb4c6b Ruby 1.8.7 compat: TimeWithZone# and Chars#respond_to? pass along the include_private argument 2008-05-31 14:55:02 -07:00
Pratik Naik
98dc582742 Merge docrails.
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-25 12:29:00 +01:00
gbuesing
c1c1d6c2ea Adding documentation for time zone features 2008-05-18 14:13:47 -05:00
gbuesing
cde9c09a52 TimeWithZone #+ and #- : ensure overflow to DateTime with Numeric arg 2008-05-18 11:15:29 -05:00
Daniel Morrison
f498f221bd Include time zone offset in TimeWithZone#to_json 2008-05-13 09:50:45 -07:00
gbuesing
4f03190f26 TimeWithZone: date part getter methods (#year #mon #day etc) are defined on class; no longer relying on method_missing 2008-05-08 22:07:21 -05:00
Xavier Noria
64092de257 Improve documentation coverage and markup
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2008-05-02 14:45:23 +01:00
gbuesing
0289b0e7df Refactor TimeWithZone: don't send #since, #ago, #+, #-, #advance through method_missing 2008-04-12 17:31:29 -05:00
gbuesing
7e5aa6569b TimeWithZone respects config.active_support.use_standard_json_time_format 2008-04-12 16:48:56 -05:00
Geoff Buesing
f4dc834976 TimeWithZone#method_missing: send to utc to advance with dst correctness, otherwise send to time. Adding tests for time calculations methods
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9208 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-02 06:56:44 +00:00
Geoff Buesing
d4493bc562 Bundling abbreviated version of TZInfo gem 0.3.8: only the classes and zone definitions required to support Rails time zone features are included. If a recent version of the full TZInfo gem is installed, this will take precedence over the bundled version
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9149 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-30 22:24:35 +00:00
Geoff Buesing
c62db052a0 config.time_zone and TimeWithZone#marshal_load accept tzinfo/Olson identifiers
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9108 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 04:35:48 +00:00
Geoff Buesing
129d94477b TimeWithZone time conversions don't need to be wrapped in TimeOrDateTime, because TZInfo does this internally
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9106 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 02:10:36 +00:00
Geoff Buesing
e4645e00b7 TimeWithZone#usec returns 0 instead of error when DateTime is wrapped
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9105 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-28 01:57:41 +00:00
Rick Olson
e1790efb85 Ensure that TimeWithZone#to_yaml works when passed a YAML::Emitter. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9081 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-23 04:44:50 +00:00
Geoff Buesing
29e3316178 Ensure correct TimeWithZone#to_date
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9079 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-22 18:43:36 +00:00
Geoff Buesing
f371f29265 Make TimeWithZone work with tzinfo 0.2.x: use TZInfo::Timezone#zone_identifier alias for #abbreviation, silence warnings on tests. Raise LoadError when TZInfo version is < 0.2 by sniffing for TZInfo::TimeOrDateTime constant. Move all tzinfo-dependent TimeZone tests into uses_tzinfo block
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9071 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-21 22:48:00 +00:00
Geoff Buesing
54ccdd3343 Time, DateTime and TimeWithZone #in_time_zone defaults to Time.zone. Removing now unneeded #in_current_time_zone. ActiveRecord time zone aware attributes updated to use #in_time_zone
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9047 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-17 05:50:13 +00:00
Geoff Buesing
2366fdbdb1 Adding TimeZone#parse
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9045 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-17 05:07:50 +00:00
Geoff Buesing
b132413885 Adding TimeZone#at and DateTime#to_f
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9042 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-17 03:45:32 +00:00
Geoff Buesing
895487c122 TimeWithZone responds to Ruby 1.9 weekday-named query methods
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9041 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-17 02:54:23 +00:00
Geoff Buesing
77ee522bf6 TimeWithZone caches TZInfo::TimezonePeriod used for time conversion so that it can be reused, and enforces DST rules correctly when instance is created from a local time
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9040 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-17 02:40:28 +00:00
Geoff Buesing
3af5b27839 Removing unneeded #change_time_zone method from Time, DateTime and TimeWithZone
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9008 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-11 06:23:41 +00:00
Geoff Buesing
52b57c662c TimeWithZone instances correctly enforce DST rules. Adding TimeZone#period_for_utc
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9006 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-11 04:26:20 +00:00
Geoff Buesing
10d9d0b6fe Adding TimeWithZone #marshal_dump and #marshal_load
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8975 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-03 03:49:37 +00:00
Geoff Buesing
4a643f686a Adding TimeWithZone#between?
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8886 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-17 00:35:49 +00:00
Geoff Buesing
e7ebd656b3 TimeWithZone #+ and #- behave consistently with numeric arguments regardless of whether wrapped time is a Time or DateTime; consistenty answers false to #acts_like?(:date)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8884 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-16 23:15:59 +00:00
Geoff Buesing
6608a3ef37 Adding TimeWithZone #to_yaml, #to_datetime, #eql? and method aliases for duck-typing compatibility with Time
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8854 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-10 22:26:16 +00:00
Geoff Buesing
8ad5a29cef TimeWithZone #in_time_zone returns +self+ if zone argument is the same as #time_zone
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8853 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-10 20:35:47 +00:00
Geoff Buesing
8831180b15 Adding TimeWithZone #to_a, #to_f, #to_i, #httpdate, #rfc2822
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8852 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-10 20:04:14 +00:00
Geoff Buesing
163a4c6f45 Pruning unneeded TimeWithZone#change_time_zone_to_current
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8851 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-10 19:15:32 +00:00
Geoff Buesing
8ef3dfff7a TimeWithZone#- added, so that #- can handle a Time or TimeWithZone argument correctly
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8732 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-26 00:34:44 +00:00
Geoff Buesing
4b2ac708b7 Adding UTC zone to TimeZone; TimeWithZone no longer has to fake UTC zone with nil
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8720 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-25 18:23:22 +00:00
Geoff Buesing
ac03ad1f78 Adding Time and DateTime #compare_with_coercion, which layers behavior on #<=> so that any combination of Time, DateTime and ActiveSupport::TimeWithZone instances can be chronologically compared
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8711 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 22:22:36 +00:00
Geoff Buesing
022d9f7ce6 Introduce ActiveSupport::TimeWithZone, for wrapping Time instances with a TimeZone. Introduce instance methods to Time for creating TimeWithZone instances, and class methods for managing a global time zone
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8696 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 01:56:22 +00:00