Commit Graph

128 Commits

Author SHA1 Message Date
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