Commit Graph

446 Commits

Author SHA1 Message Date
Jeremy Kemper
e59de6046c Add a handful of cache store tests
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8764 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-01 01:43:47 +00:00
Rick Olson
bd72d06374 Support retrieving TimeZones with a Duration. TimeZone[-28800] == TimeZone[-480.minutes]. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8746 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-29 01:09:49 +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
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
2168178bdb TimeZone#to_s uses UTC rather than GMT; reapplying change that was undone in [8679]. References #1689
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8716 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-25 03:54:10 +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
213fac6f49 TimeZone#now returns an ActiveSupport::TimeWithZone
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8710 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 20:49:53 +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
2e7b2f0344 Adding alternate_utc_string option to TimeZone#formatted_offset. Removing unneeded TimeZone#offset
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8697 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-23 02:11:00 +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
1d4f4cdfe2 Replace non-dst-aware TimeZone class with dst-aware class from tzinfo_timezone plugin. TimeZone#adjust and #unadjust are no longer available; tzinfo gem must now be present in order to perform time zone calculations, via #local_to_utc and #utc_to_local methods.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-21 03:55:54 +00:00
Jeremy Kemper
aae37bb4f7 Extract ActiveSupport::Callbacks from Active Record, test case setup and teardown, and ActionController::Dispatcher. Closes #10727.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8664 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-19 02:44:45 +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
f8c12301bb remove some more absolute requires
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8567 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-05 13:32:48 +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
David Heinemeier Hansson
2a9ad9ccbc Moved the caching stores from ActionController::Caching::Fragments::* to ActiveSupport::Cache::*. If you're explicitly referring to a store, like ActionController::Caching::Fragments::MemoryStore, you need to update that reference with ActiveSupport::Cache::MemoryStore [DHH] Deprecated ActionController::Base.fragment_cache_store for ActionController::Base.cache_store [DHH] All fragment cache keys are now by default prefixed with the 'views/' namespace [DHH] Added ActiveRecord::Base.cache_key to make it easier to cache Active Records in combination with the new ActiveSupport::Cache::* libraries [DHH] Added ActiveSupport::Gzip.decompress/compress(source) as an easy wrapper for Zlib [Tobias Luetke] Included MemCache-Client to make the improved ActiveSupport::Cache::MemCacheStore work out of the box [Bob Cottrell, Eric Hodel] Added config.cache_store to environment options to control the default cache store (default is FileStore if tmp/cache is present, otherwise MemoryStore is used) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8546 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-03 21:05:12 +00:00
David Heinemeier Hansson
3229b59495 Fixed String#titleize to work for strings with 's too (closes #10571) [trek]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-03 00:16:47 +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
c95002c284 Multibyte: String#chars returns self for Ruby 1.9
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8460 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-21 11:21:43 +00:00
Jeremy Kemper
909b2c1acf Multibyte: String#chars uses passthrough handler for Ruby 1.9
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8459 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-21 11:21:20 +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
dc3e55d117 TimeZone#to_s uses UTC rather than GMT. References #1689.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8370 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-10 10:08:07 +00:00
Jeremy Kemper
bcbcc0260b Ruby 1.9 compat: TimeZone avoids localtime conversion. References #1689 [Chu Yeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8369 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-10 10:05:43 +00:00
Jeremy Kemper
b1ce7e4d4a Ruby 1.9 compat: File.exists\? -> File.exist\? en masse. References #1689 [Pratik Naik]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8365 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-10 05:54:46 +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
David Heinemeier Hansson
2af36bbbd4 Fix typos (closes #10378)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8301 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-05 18:54:41 +00:00
Michael Koziarski
92f02adf40 Don't escape forward slashes with String#to_json, our unicode encoding of < and > prevent the XSS problems. [tpope] Closes #10273
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8255 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-02 08:45:35 +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