rails/actionpack
Aaron Patterson cfdab77d1f Merge branch 'constraints'
* constraints:
  rm reset_parameters because we automatically do it from 9ca4839a
  move path_parameter encoding check to the request object
  dispatcher doesn't need `call` anymore
  call `serve` with the request on dispatchers
  constraints class does not need the request class anymore
  give all endpoints a superclass
  skip the build business if the stack is empty
  stop hardcoding path_parameters and get it from the request
  we do not need to cache rack_app
  a redirect is not a dispatcher by definition, so eliminate test
  push is_a check up to where the Constraints object is allocated
  pass the request object to the application
  pass a request to `matches?` so we can avoid creating excess requests
  nothing is passed to `rack_app` anymore, so rm the params
  one fewer is_a check
  Constraints#app should never return another Constraints object, so switch to if statement
  eliminate dispatcher is_a checks
  push is_a?(Dispatcher) check in to one place
  Always construct route objects with Constraint objects

Conflicts:
	actionpack/lib/action_controller/metal.rb
2014-05-27 14:40:55 -07:00
..
lib Merge branch 'constraints' 2014-05-27 14:40:55 -07:00
test Merge branch 'constraints' 2014-05-27 14:40:55 -07:00
actionpack.gemspec Retain ActionPack dependency on ActionView 2013-12-05 01:02:46 +01:00
CHANGELOG.md Merge pull request #14986 from dlangevin/trailing-slash-url-generation 2014-05-24 12:41:28 -03:00
MIT-LICENSE update copyright notices to 2014. [ci skip] 2014-01-01 23:59:49 +05:30
Rakefile grab executable from rubygems 2013-07-26 11:07:25 +02:00
README.rdoc Moved README into action_view [ci skip] 2013-07-31 15:44:17 -04:00
RUNNING_UNIT_TESTS.rdoc re-phrase how to run a test 2014-04-15 11:04:07 -07:00

= Action Pack -- From request to response

Action Pack is a framework for handling and responding to web requests. It
provides mechanisms for *routing* (mapping request URLs to actions), defining
*controllers* that implement actions, and generating responses by rendering
*views*, which are templates of various formats. In short, Action Pack
provides the view and controller layers in the MVC paradigm.

It consists of several modules:

* Action Dispatch, which parses information about the web request, handles
  routing as defined by the user, and does advanced processing related to HTTP
  such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT bodies,
  handling HTTP caching logic, cookies and sessions.

* Action Controller, which provides a base controller class that can be
  subclassed to implement filters and actions to handle requests. The result
  of an action is typically content generated from views.

With the Ruby on Rails framework, users only directly interface with the
Action Controller module. Necessary Action Dispatch functionality is activated
by default and Action View rendering is implicitly triggered by Action
Controller. However, these modules are designed to function on their own and
can be used outside of Rails.


== Download and installation

The latest version of Action Pack can be installed with RubyGems:

  % [sudo] gem install actionpack

Source code can be downloaded as part of the Rails project on GitHub

* https://github.com/rails/rails/tree/master/actionpack


== License

Action Pack is released under the MIT license:

* http://www.opensource.org/licenses/MIT


== Support

API documentation is at

* http://api.rubyonrails.org

Bug reports and feature requests can be filed with the rest for the Ruby on Rails project here:

* https://github.com/rails/rails/issues