Merged updates from trunk into stable branch
[feedcatcher.git] / vendor / rails / actionpack / lib / action_controller.rb
1 #--
2 # Copyright (c) 2004-2009 David Heinemeier Hansson
3 #
4 # Permission is hereby granted, free of charge, to any person obtaining
5 # a copy of this software and associated documentation files (the
6 # "Software"), to deal in the Software without restriction, including
7 # without limitation the rights to use, copy, modify, merge, publish,
8 # distribute, sublicense, and/or sell copies of the Software, and to
9 # permit persons to whom the Software is furnished to do so, subject to
10 # the following conditions:
11 #
12 # The above copyright notice and this permission notice shall be
13 # included in all copies or substantial portions of the Software.
14 #
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 #++
23
24 begin
25 require 'active_support'
26 rescue LoadError
27 activesupport_path = "#{File.dirname(__FILE__)}/../../activesupport/lib"
28 if File.directory?(activesupport_path)
29 $:.unshift activesupport_path
30 require 'active_support'
31 end
32 end
33
34 begin
35 gem 'rack', '~> 1.0.0'
36 require 'rack'
37 rescue Gem::LoadError
38 require 'action_controller/vendor/rack-1.0/rack'
39 end
40
41 module ActionController
42 # TODO: Review explicit to see if they will automatically be handled by
43 # the initilizer if they are really needed.
44 def self.load_all!
45 [Base, CGIHandler, CgiRequest, Request, Response, Http::Headers, UrlRewriter, UrlWriter]
46 end
47
48 autoload :AbstractRequest, 'action_controller/request'
49 autoload :Base, 'action_controller/base'
50 autoload :Benchmarking, 'action_controller/benchmarking'
51 autoload :Caching, 'action_controller/caching'
52 autoload :Cookies, 'action_controller/cookies'
53 autoload :Dispatcher, 'action_controller/dispatcher'
54 autoload :Failsafe, 'action_controller/failsafe'
55 autoload :Filters, 'action_controller/filters'
56 autoload :Flash, 'action_controller/flash'
57 autoload :Helpers, 'action_controller/helpers'
58 autoload :HttpAuthentication, 'action_controller/http_authentication'
59 autoload :Integration, 'action_controller/integration'
60 autoload :IntegrationTest, 'action_controller/integration'
61 autoload :Layout, 'action_controller/layout'
62 autoload :MiddlewareStack, 'action_controller/middleware_stack'
63 autoload :MimeResponds, 'action_controller/mime_responds'
64 autoload :ParamsParser, 'action_controller/params_parser'
65 autoload :PolymorphicRoutes, 'action_controller/polymorphic_routes'
66 autoload :RecordIdentifier, 'action_controller/record_identifier'
67 autoload :Reloader, 'action_controller/reloader'
68 autoload :Request, 'action_controller/request'
69 autoload :RequestForgeryProtection, 'action_controller/request_forgery_protection'
70 autoload :Rescue, 'action_controller/rescue'
71 autoload :Resources, 'action_controller/resources'
72 autoload :Response, 'action_controller/response'
73 autoload :RewindableInput, 'action_controller/rewindable_input'
74 autoload :Routing, 'action_controller/routing'
75 autoload :SessionManagement, 'action_controller/session_management'
76 autoload :StatusCodes, 'action_controller/status_codes'
77 autoload :Streaming, 'action_controller/streaming'
78 autoload :TestCase, 'action_controller/test_case'
79 autoload :TestProcess, 'action_controller/test_process'
80 autoload :Translation, 'action_controller/translation'
81 autoload :UploadedFile, 'action_controller/uploaded_file'
82 autoload :UploadedStringIO, 'action_controller/uploaded_file'
83 autoload :UploadedTempfile, 'action_controller/uploaded_file'
84 autoload :UrlRewriter, 'action_controller/url_rewriter'
85 autoload :UrlWriter, 'action_controller/url_rewriter'
86 autoload :Verification, 'action_controller/verification'
87
88 module Assertions
89 autoload :DomAssertions, 'action_controller/assertions/dom_assertions'
90 autoload :ModelAssertions, 'action_controller/assertions/model_assertions'
91 autoload :ResponseAssertions, 'action_controller/assertions/response_assertions'
92 autoload :RoutingAssertions, 'action_controller/assertions/routing_assertions'
93 autoload :SelectorAssertions, 'action_controller/assertions/selector_assertions'
94 autoload :TagAssertions, 'action_controller/assertions/tag_assertions'
95 end
96
97 module Http
98 autoload :Headers, 'action_controller/headers'
99 end
100
101 module Session
102 autoload :AbstractStore, 'action_controller/session/abstract_store'
103 autoload :CookieStore, 'action_controller/session/cookie_store'
104 autoload :MemCacheStore, 'action_controller/session/mem_cache_store'
105 end
106
107 # DEPRECATE: Remove CGI support
108 autoload :CgiRequest, 'action_controller/cgi_process'
109 autoload :CGIHandler, 'action_controller/cgi_process'
110 end
111
112 autoload :Mime, 'action_controller/mime_type'
113
114 autoload :HTML, 'action_controller/vendor/html-scanner'
115
116 require 'action_view'