diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2006-09-03 23:08:43 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2006-09-03 23:08:43 +0000 |
commit | 0f956d1d6d7afc7beaa9816815b43d2f9312eddf (patch) | |
tree | cb3c66aa8617031b1033104cc0f84ad0a17ec642 /actionpack | |
parent | 5048aa9831a4ecda14eeb02f3a58157efa8f608f (diff) | |
download | rails-0f956d1d6d7afc7beaa9816815b43d2f9312eddf.tar.gz rails-0f956d1d6d7afc7beaa9816815b43d2f9312eddf.tar.bz2 rails-0f956d1d6d7afc7beaa9816815b43d2f9312eddf.zip |
Deprecated all of ActionController::Dependencies. All dependency loading is now handled from Active Support [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4948 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rwxr-xr-x | actionpack/lib/action_controller.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_controller/deprecated_dependencies.rb (renamed from actionpack/lib/action_controller/dependencies.rb) | 31 |
3 files changed, 10 insertions, 25 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index d5213be69a..9e2d105a2b 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Deprecated all of ActionController::Dependencies. All dependency loading is now handled from Active Support [DHH] + * Added assert_select* for CSS selector-based testing (deprecates assert_tag) #5936 [assaf.arkin@gmail.com] * radio_button_tag generates unique id attributes. #3353 [Bob Silva, somekool@gmail.com] diff --git a/actionpack/lib/action_controller.rb b/actionpack/lib/action_controller.rb index f020bf6dc5..283238bb93 100755 --- a/actionpack/lib/action_controller.rb +++ b/actionpack/lib/action_controller.rb @@ -43,7 +43,7 @@ require 'action_controller/benchmarking' require 'action_controller/flash' require 'action_controller/filters' require 'action_controller/layout' -require 'action_controller/dependencies' +require 'action_controller/deprecated_dependencies' require 'action_controller/mime_responds' require 'action_controller/pagination' require 'action_controller/scaffolding' diff --git a/actionpack/lib/action_controller/dependencies.rb b/actionpack/lib/action_controller/deprecated_dependencies.rb index d316552f49..433b9e5af8 100644 --- a/actionpack/lib/action_controller/dependencies.rb +++ b/actionpack/lib/action_controller/deprecated_dependencies.rb @@ -4,29 +4,7 @@ module ActionController #:nodoc: base.extend(ClassMethods) end - # Dependencies control what classes are needed for the controller to run its course. This is an alternative to doing explicit - # +require+ statements that bring a number of benefits. It's more succinct, communicates what type of dependency we're talking about, - # can trigger special behavior (as in the case of +observer+), and enables Rails to be clever about reloading in cached environments - # like FCGI. Example: - # - # class ApplicationController < ActionController::Base - # model :account, :company, :person, :project, :category - # helper :access_control - # service :notifications, :billings - # observer :project_change_observer - # end - # - # Please note that a controller like ApplicationController will automatically attempt to require_dependency on a model of its - # singuralized name and a helper of its name. If nothing is found, no error is raised. This is especially useful for concrete - # controllers like PostController: - # - # class PostController < ApplicationController - # # model :post (already required) - # # helper :post (already required) - # end - # - # Also note, that if the models follow the pattern of just 1 class per file in the form of MyClass => my_class.rb, then these - # classes don't have to be required as Active Support will auto-require them. + # Deprecated module. The responsibility of loading dependencies belong with Active Support now. module ClassMethods #:nodoc: # Specifies a variable number of models that this controller depends on. Models are normally Active Record classes or a similar # backend for modelling entity classes. @@ -34,6 +12,7 @@ module ActionController #:nodoc: require_dependencies(:model, models) depend_on(:model, models) end + deprecate :model # Specifies a variable number of services that this controller depends on. Services are normally singletons or factories, like # Action Mailer service or a Payment Gateway service. @@ -41,6 +20,7 @@ module ActionController #:nodoc: require_dependencies(:service, services) depend_on(:service, services) end + deprecate :service # Specifies a variable number of observers that are to govern when this controller is handling actions. The observers will # automatically have .instance called on them to make them active on assignment. @@ -49,16 +29,19 @@ module ActionController #:nodoc: depend_on(:observer, observers) instantiate_observers(observers) end + deprecate :observer # Returns an array of symbols that specify the dependencies on a given layer. For the example at the top, calling # <tt>ApplicationController.dependencies_on(:model)</tt> would return <tt>[:account, :company, :person, :project, :category]</tt> def dependencies_on(layer) read_inheritable_attribute("#{layer}_dependencies") end - + deprecate :dependencies_on + def depend_on(layer, dependencies) #:nodoc: write_inheritable_array("#{layer}_dependencies", dependencies) end + deprecate :depend_on private def instantiate_observers(observers) |