Commit Graph

270 Commits

Author SHA1 Message Date
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
c95365a00e with_timezone test helper renamed with_env_tz, to distinguish between setting ENV['TZ'] and setting Time.zone in tests
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8731 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-26 00:11:59 +00:00
Geoff Buesing
dad3e835f7 Time#- coerces TimeWithZone argument to a Time instance so that difference in seconds can be calculated. Closes #10914 [Geoff Buesing, yyyc514]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8730 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-25 23:55:07 +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
c911e1ac08 Time.zone uses thread-local variable for thread safety. Adding Time.use_zone, for
overriding Time.zone locally inside a block. Removing unneeded Time.zone_reset! 

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8718 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-25 15:52:23 +00:00
Geoff Buesing
8f7232bc76 Time.days_in_month defaults to current year if no year is supplied as argument, uses Date.gregorian_leap? to determine leap year, and uses constant lookup to determine days in month. Closes #10799 [Radar]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8715 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-25 03:29:20 +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
cb8de22dfb Time #in_current_time_zone and #change_time_zone_to_current return self when Time.zone is nil
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8708 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 18:49:54 +00:00
Jeremy Kemper
8273280a63 Enumerable#group_by uses ActiveSupport::OrderedHash
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8700 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 07:25:20 +00:00
Geoff Buesing
abb24b484f Adding Time and DateTime #formatted_offset, for outputting +HH:MM utc offset strings with cross-platform consistency
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8698 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 02:46:47 +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
Geoff Buesing
47ff3aa91f Introducing DateTime #utc, #utc? and #utc_offset, for duck-typing compatibility with Time. Closes #10002
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8649 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-16 20:07:10 +00:00
Geoff Buesing
e9dad7496d Refactor number-to-HH:MM-string conversion logic from TimeZone#formatted_offset to reusable Numeric#to_utc_offset_s method
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8635 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-12 20:44:31 +00:00
Jeremy Kemper
e9b862acb0 Fix up Enumerable#group_by
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8604 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-09 08:37:36 +00:00
Jeremy Kemper
880081549d Use a decorator module for Files instantiated by Hash.from_xml. Add test coverage. Closes #10726 [Cheah Chu Yeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8579 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-06 20:53:47 +00:00
Jeremy Kemper
139b92495f * Continue evolution toward ActiveSupport::TestCase and friends. #10679 [Josh Peek]
* TestCase: introduce declared setup and teardown callbacks. Pass a list of methods and an optional block to call before setup or after teardown. Setup callbacks are run in the order declared; teardown callbacks are run in reverse.  [Jeremy Kemper]


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8570 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-05 13:34:15 +00:00
Jeremy Kemper
f6d8526659 require abstract_unit directly since test is in load path
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8563 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-05 13:31:04 +00:00
Jeremy Kemper
ff47ba9adb Ruby 1.9 compat: add #raise to AS::BasicObject, fixup Duration argument error. Closes #10594.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8523 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-02 09:08:14 +00:00
Jeremy Kemper
42622f23b4 Fix invalid time test. Closes #10632 [Dirkjan Bussink]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8518 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-02 08:26:37 +00:00
Jeremy Kemper
20d29b3797 Ruby 1.9 compat: introduce ActiveSupport::FrozenObjectError normalize TypeError vs RuntimeError handling. Closes #10645 [Frederick Cheung]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8510 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-29 19:43:07 +00:00
Jeremy Kemper
7555073803 Ruby 1.9 compat: introduce instance_variable_names. Closes #10630 [Frederick Cheung]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8499 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-28 05:42:12 +00:00
Jeremy Kemper
8e432d9a5b Multibyte: skip String#each_char test for Ruby 1.9
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8461 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-21 11:21:54 +00:00
Jeremy Kemper
43fdbd5e1f Hash#symbolize_keys skips keys that can't be symbolized. Closes #10500.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8454 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-20 22:28:47 +00:00
Jeremy Kemper
6d5ee8dab3 Ruby 1.9 compat: 'a'.ord == 'a'[0]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8403 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-15 02:28:32 +00:00
Jeremy Kemper
aa4ad404c6 Ruby 1.9 compat: shadowed vars, kcode
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-15 02:28:20 +00:00
Jeremy Kemper
887870f20c Ruby 1.9 compat: define Duration#== [chuyeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8399 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-15 02:27:41 +00:00
Jeremy Kemper
bb152cd8ca Ruby 1.9 compat: normalize date and time xmlschema to match Ruby's formatting [chuyeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8398 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-15 02:27:29 +00:00
Jeremy Kemper
3d90733e93 Ruby 1.9 compat: prefer builtin String#starts_ and ends_with? if available [chuyeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8397 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-15 02:27:11 +00:00
David Heinemeier Hansson
7a224356a8 Added that Array#to_param calls to_param on all it's elements (closes #10473) [brandon]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8384 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-14 18:02:04 +00:00
Jeremy Kemper
83b0204138 Ruby 1.9 compat. References #1689 [Pratik Naik]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8363 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-10 05:12:50 +00:00
Jeremy Kemper
ef57b93a82 to_sentence returns self[0].to_s instead of just self[0] for arrays of length 1. Closes #10390 [Chu Yeow, mrj]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8340 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-09 22:10:40 +00:00
Rick Olson
4dcd4069f5 Fix HashWithIndifferentAccess#to_options! so it doesn't clear the options hash. Closes #10419 [ReinH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8332 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-08 00:12:52 +00:00
Michael Koziarski
67442cb40d Fix potential extra space in Array#to_sentence. Closes #10327 [kamal]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8251 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-02 00:28:30 +00:00
David Heinemeier Hansson
4d177ae0d6 Added Array#from and Array#to that behaves just from String#from and String#to [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8224 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-27 19:42:30 +00:00
David Heinemeier Hansson
4d96ece6ec Fix that empty collections should be treated as empty arrays regardless of whitespace for Hash#from_xml (closes #10255) [adamj]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8202 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-25 21:58:24 +00:00
Geoff Buesing
becdb49186 Honor Ruby's default calendar reform setting when creating DateTime objects via ActiveRecord's Time -> DateTime overflow, Time#time_with_datetime_fallback, Time#to_datetime, Date#to_datetime and String#to_datetime. Closes #10201
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8199 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-24 04:59:21 +00:00
Geoff Buesing
d84846a636 Change Time and DateTime #end_of_month to return last second of month instead of beginning of last day of month. Closes #10200
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8198 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-24 03:57:11 +00:00
Jeremy Kemper
a75cafbda2 Speedup String#blank? and remove some overspecified tests.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8137 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-14 10:02:26 +00:00
Michael Koziarski
47576a646b Cater for DST changes when converting Times to DateTimes. Closes #10068 [gbuesing]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8076 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-05 22:29:11 +00:00
Michael Koziarski
e86d1decc1 Add new superclass_delegating_accessors. Similar to class inheritable attributes but with subtly different semantics. [Koz, tarmo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8056 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-29 22:46:22 +00:00
Jeremy Kemper
24077a1ffc Hash#to_xml handles symbol values. Closes #9954.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7997 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-23 00:42:16 +00:00
Jeremy Kemper
cfffedb4d8 Hash#symbolize_keys behaves well with integer keys. Closes #9890.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7945 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-16 18:56:13 +00:00
Jeremy Kemper
fb0673f5ad Add a time to duplicable tests
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7907 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-15 07:12:40 +00:00
Jeremy Kemper
bb4ebaa858 object.duplicable? returns true if object.dup is safe. False for nil, true, false, symbols, and numbers; true otherwise. References #9333.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7906 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-15 07:11:25 +00:00
Jeremy Kemper
16796dc35f Time, Date and DateTime #advance accept :weeks option. Closes #9866.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7868 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-13 23:56:00 +00:00
Jeremy Kemper
389616e68d Fix Time#years_ago and #years_since from leap days. Closes #9865.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7867 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-13 21:47:45 +00:00
Jeremy Kemper
c7dd2a1c11 Time and DateTime#advance accept :hours, :minutes, and :seconds options. Closes #9825.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7866 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-13 21:44:48 +00:00
Jeremy Kemper
a8077355ed Fix Date#years_ago and #years_since from leap days. Closes #9864.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7863 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-13 20:13:18 +00:00
Jeremy Kemper
9e96286e7a Refactor Time and Date#months_since and #months_ago to use #advance. Closes #9863.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7862 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-13 20:12:36 +00:00
Jeremy Kemper
d556f46607 Style update for new Range extensions
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7818 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-09 07:49:16 +00:00