Scott Barron
2d7309388d
Make String#last behave more like Array#last, i.e.
...
"f".last(3) => "f" not
"f".last(3) => nil
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3548 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-08 00:49:41 +00:00
Tobias Lütke
6fa5b7b304
added some (pointless) test cases to dependency loading, the more the merrier
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3537 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 21:24:40 +00:00
David Heinemeier Hansson
2ee6229bd8
Added delegation support to Module that allows multiple delegations at once (unlike Forwardable in the stdlib) [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3535 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 19:14:53 +00:00
David Heinemeier Hansson
ed080863d5
Just go with Subclasses instead of OnlySubclasses
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 06:11:42 +00:00
Nicholas Seckar
1aaeb2113b
Fix Reloadable to handle the case where a class that has been 'removed' has not yet been garbage collected.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3528 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 04:50:53 +00:00
Nicholas Seckar
ad9cabd77c
Remove LoadingModule
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3526 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-03 20:29:39 +00:00
Nicholas Seckar
1bce58b312
Add Reloadable::OnlySubclasses which handles the common case where a base class should not be reloaded, but its subclasses should be.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3521 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-02 05:41:00 +00:00
Nicholas Seckar
7a43a05a2b
Further improvements to reloading code
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3519 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-02 04:54:07 +00:00
David Heinemeier Hansson
01b1a87729
Added reusable reloading support through the inclusion of the Relodable module that all subclasses of ActiveRecord::Base, ActiveRecord::Observer, ActiveController::Base, and ActionMailer::Base automatically gets [DHH]. Added auto-loading support for classes in modules, so Conductor::Migration will look for conductor/migration.rb and Conductor::Database::Settings will look for conductor/database/settings.rb [Nicholas Seckar]. Refactored extensions to module, class, and object in active support [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3493 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-29 00:37:39 +00:00
Sam Stephenson
d921b79974
Add Object#instance_exec and Proc#bind
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3469 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-23 06:40:43 +00:00
David Heinemeier Hansson
9c24899ab0
Fix merge and dup for hashes with indifferent access ( closes #3404 ) [kenneth.miller@bitfield.net]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3468 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-23 05:38:02 +00:00
Sam Stephenson
039a90f535
Fix the requires in option_merger_test to unbreak AS tests
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3458 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-21 23:52:40 +00:00
Marcel Molina
36fc181a57
Make HashWithIndifferentAccess#update behave like Hash#update by returning the hash. Closes #3419 , #3425
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3388 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-08 21:29:47 +00:00
Sam Stephenson
e567a5eb1a
Add ActiveSupport::JSON and Object#to_json for converting Ruby objects to JSON strings
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3356 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-27 03:11:03 +00:00
Sam Stephenson
85fe1ecaef
Add Object#with_options for DRYing up multiple calls to methods having shared options
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3314 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-15 20:03:23 +00:00
Jeremy Kemper
e47c8381e1
Handle mutual dependencies with .rb suffix.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3193 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-28 20:39:26 +00:00
Jeremy Kemper
e7219e9e2a
Introduce Dependencies.warnings_on_first_load setting. If true, enables warnings on first load of a require_dependency. Otherwise, loads without warnings. Disabled (set to false) by default.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3190 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-24 20:26:01 +00:00
Jeremy Kemper
52325f6bf8
Sever infinite loop for mutual dependencies. Closes #2997 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3181 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-24 05:43:27 +00:00
Jeremy Kemper
b94d6c0654
Enable warnings on first load only. File which are loaded but raise an exception are not added to loaded set.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3169 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-23 21:31:51 +00:00
Jeremy Kemper
9a77e2f2be
r3240@asus: jeremy | 2005-11-20 23:22:34 -0800
...
Introduce enable_warnings counterpart to silence_warnings.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3134 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 07:29:44 +00:00
Jeremy Kemper
d792427301
r3239@asus: jeremy | 2005-11-20 23:21:37 -0800
...
Test for absence of instance vars rather than nil so we don't get a warning.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3133 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 07:29:39 +00:00
Jeremy Kemper
d1ac316fa4
r3219@asus: jeremy | 2005-11-20 03:07:19 -0800
...
silence necessary warnings in logger test. guard against multiple requires in kernel test.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3131 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 07:29:27 +00:00
Jeremy Kemper
a821c3dd93
r3215@asus: jeremy | 2005-11-20 02:05:56 -0800
...
Eliminate double-requires due to Ruby seeing different paths to the same file.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3127 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 07:29:04 +00:00
Marcel Molina
dd198e259f
Pull out Array#to_strings in favor of more general Symbol#to_proc.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3119 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 02:17:10 +00:00
Marcel Molina
69bf71f5e9
Add Symbol#to_proc, which allows for, e.g. [:foo, :bar].map(&:to_s).
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3118 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-21 02:15:32 +00:00
Marcel Molina
5d785dbc11
Add Array#to_strings which to_s's all elements in an array.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3114 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-20 22:36:02 +00:00
Marcel Molina
baa2ab5ac3
Add extended_by, extend_with_included_modules_from and copy_instance_variables_from to Object.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3113 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-20 22:32:40 +00:00
Nicholas Seckar
1cc8ab865f
Change Inflector#constantize to use eval instead of const_get
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3049 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-16 00:56:16 +00:00
Nicholas Seckar
24064910d0
Fix broken tests caused by incomplete loading of active support.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2901 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-07 01:48:33 +00:00
Jeremy Kemper
8210f70c7c
Fix status pluralization bug so status_codes doesn't get pluralized as statuses_code. Closes #2758 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2900 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-07 01:20:54 +00:00
Sam Stephenson
645de33912
Added Kernel#silence_stderr to silence stderr for the duration of the given block. Changed Kernel#` to print a message to stderr (like Unix) instead of raising Errno::ENOENT on Win32.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2899 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-07 00:37:32 +00:00
Jeremy Kemper
ac58ba60f6
Changed 0.blank? to false rather than true since it violates everyone's expectation of blankness. Closes #2518 , Closes #2705 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2849 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-02 15:37:58 +00:00
David Heinemeier Hansson
0d52abfd0e
Added petabytes and exebytes to numeric extensions ( closes #2397 ) [timct@mac.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2746 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 13:10:03 +00:00
David Heinemeier Hansson
fabf34848e
Added Time#end_of_month to accompany Time#beginning_of_month ( closes #2514 ) [Jens-Christian Fischer]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2745 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 13:07:22 +00:00
Jeremy Kemper
b57c86ae74
r3689@sedna: jeremy | 2005-10-16 10:24:36 -0700
...
Ticket 2404 - delete fixtures after using them
r3744@sedna: jeremy | 2005-10-23 12:28:28 -0700
track dirty and loaded fixtures more carefully
r3745@sedna: jeremy | 2005-10-23 12:29:39 -0700
fix broken tests
r3756@sedna: jeremy | 2005-10-23 15:51:00 -0700
Global Logger.silencer switch for Logger#silence.
r3757@sedna: jeremy | 2005-10-23 15:51:35 -0700
Correct changelogs
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2715 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-23 20:00:05 +00:00
Marcel Molina
b23c72fd42
Add title case method to String to do, e.g., 'action_web_service'.titlecase # => 'Action Web Service'.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2690 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-19 20:20:11 +00:00
Nicholas Seckar
60b6fac5de
Remove generated code from app traces; improve accuracy of framework traces
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2676 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 14:06:34 +00:00
Nicholas Seckar
57f43473d7
Update Exception extension to show the first few framework frames in an application trace.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2654 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 17:47:19 +00:00
Nicholas Seckar
8103d373e6
Add unit tests for exception extensions
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2646 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 14:23:28 +00:00
Nicholas Seckar
43c34e20d2
Updated whiny nil to be more concise and useful.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2602 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 02:24:05 +00:00
Nicholas Seckar
e9df41a759
Added Enumerable#first_match
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2578 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 03:26:16 +00:00
David Heinemeier Hansson
f0448f5631
Fixed that Time#change should also reset usec when also resetting minutes #2459 [ikeda@dream.big.or.jp]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2568 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 20:28:55 +00:00
Jeremy Kemper
e4b3f8b0eb
Fix Logger compatibility test
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2563 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 20:02:49 +00:00
Jeremy Kemper
9c8227973c
r3574@sedna: jeremy | 2005-10-13 11:16:51 -0700
...
More precise Logger version test to account for distributions that don't keep Ruby and its stdlib in sync. Logger#silence yields self for convenience. Logger unit tests.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2553 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 19:05:32 +00:00
David Heinemeier Hansson
5ef931a4b8
Added to_s(:db) to Range
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2506 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-09 17:52:42 +00:00
Jamis Buck
ac419a0655
Add :rfc822 as an option for Time#to_s (to get rfc822-formatted times)
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2445 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-03 18:30:03 +00:00
David Heinemeier Hansson
d994b41a05
Added method access to OrdredOptions
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2422 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-30 07:14:37 +00:00
David Heinemeier Hansson
ab2a24de9d
Added test for looping in order
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2420 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-30 07:02:28 +00:00
David Heinemeier Hansson
9f146ea0ac
Added OrderedOptions array/hash for use with initializer
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2419 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-30 06:51:42 +00:00
David Heinemeier Hansson
6a51940117
Fixed memory leak with Active Record classes when Dependencies.mechanism = :load #1704 [c.r.mcgrath@gmail.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2276 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-20 11:23:13 +00:00