aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/routing.rb36
-rw-r--r--actionpack/lib/action_dispatch/routing/deprecated_mapper.rb2
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb14
-rw-r--r--actionpack/lib/action_dispatch/routing/route_set.rb4
-rw-r--r--actionpack/lib/action_dispatch/routing/url_for.rb3
5 files changed, 35 insertions, 24 deletions
diff --git a/actionpack/lib/action_dispatch/routing.rb b/actionpack/lib/action_dispatch/routing.rb
index c6e942555f..3d9084a27e 100644
--- a/actionpack/lib/action_dispatch/routing.rb
+++ b/actionpack/lib/action_dispatch/routing.rb
@@ -136,20 +136,32 @@ module ActionDispatch
#
# == HTTP Methods
#
- # With conditions you can define restrictions on routes. Currently the only valid condition is <tt>:method</tt>.
+ # Using the <tt>:via</tt> option when specifying a route allows you to restrict it to a specific HTTP method.
+ # Possible values are <tt>:post</tt>, <tt>:get</tt>, <tt>:put</tt>, <tt>:delete</tt> and <tt>:any</tt>.
+ # If your route needs to respond to more than one method you can use an array, e.g. <tt>[ :get, :post ]</tt>.
+ # The default value is <tt>:any</tt> which means that the route will respond to any of the HTTP methods.
#
- # * <tt>:method</tt> - Allows you to specify which HTTP method(s) can access the route. Possible values are
- # <tt>:post</tt>, <tt>:get</tt>, <tt>:put</tt>, <tt>:delete</tt> and <tt>:any</tt>. Use an array to specify more
- # than one method, e.g. <tt>[ :get, :post ]</tt>. The default value is <tt>:any</tt>, <tt>:any</tt> means that any
- # method can access the route.
+ # Examples:
#
- # Example:
+ # match 'post/:id' => 'posts#show', :via => :get
+ # match 'post/:id' => "posts#create_comment', :via => :post
+ #
+ # Now, if you POST to <tt>/posts/:id</tt>, it will route to the <tt>create_comment</tt> action. A GET on the same
+ # URL will route to the <tt>show</tt> action.
+ #
+ # === HTTP helper methods
#
- # get 'post/:id' => 'posts#show'
+ # An alternative method of specifying which HTTP method a route should respond to is to use the helper
+ # methods <tt>get</tt>, <tt>post</tt>, <tt>put</tt> and <tt>delete</tt>.
+ #
+ # Examples:
+ #
+ # get 'post/:id' => 'posts#show'
# post 'post/:id' => "posts#create_comment'
#
- # Now, if you POST to <tt>/posts/:id</tt>, it will route to the <tt>create_comment</tt> action. A GET on the same
- # URL will route to the <tt>show</tt> action.
+ # This syntax is less verbose and the intention is more apparent to someone else reading your code,
+ # however if your route needs to respond to more than one HTTP method (or all methods) then using the
+ # <tt>:via</tt> option on <tt>match</tt> is preferable.
#
# == Reloading routes
#
@@ -208,11 +220,11 @@ module ActionDispatch
autoload :RouteSet, 'action_dispatch/routing/route_set'
autoload :UrlFor, 'action_dispatch/routing/url_for'
- SEPARATORS = %w( / . ? )
- HTTP_METHODS = [:get, :head, :post, :put, :delete, :options]
+ SEPARATORS = %w( / . ? ) #:nodoc:
+ HTTP_METHODS = [:get, :head, :post, :put, :delete, :options] #:nodoc:
# A helper module to hold URL related helpers.
- module Helpers
+ module Helpers #:nodoc:
include ActionController::PolymorphicRoutes
end
end
diff --git a/actionpack/lib/action_dispatch/routing/deprecated_mapper.rb b/actionpack/lib/action_dispatch/routing/deprecated_mapper.rb
index b0545279b1..e8c2e74314 100644
--- a/actionpack/lib/action_dispatch/routing/deprecated_mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/deprecated_mapper.rb
@@ -75,7 +75,7 @@ module ActionDispatch
# supplying you with methods to create them in your routes.rb file.
#
# Read more about REST at http://en.wikipedia.org/wiki/Representational_State_Transfer
- class DeprecatedMapper #:doc:
+ class DeprecatedMapper #:nodoc:
def initialize(set) #:nodoc:
@set = set
end
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 4e9112bc04..2c7ee7dad0 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -4,7 +4,7 @@ require 'active_support/core_ext/object/blank'
module ActionDispatch
module Routing
class Mapper
- class Constraints
+ class Constraints #:nodoc:
def self.new(app, constraints = [])
if constraints.any?
super(app, constraints)
@@ -32,7 +32,7 @@ module ActionDispatch
end
end
- class Mapping
+ class Mapping #:nodoc:
IGNORE_OPTIONS = [:to, :as, :controller, :action, :via, :on, :constraints, :defaults, :only, :except, :anchor]
def initialize(set, scope, args)
@@ -180,7 +180,7 @@ module ActionDispatch
end
module Base
- def initialize(set)
+ def initialize(set) #:nodoc:
@set = set
end
@@ -267,7 +267,7 @@ module ActionDispatch
end
module Scoping
- def initialize(*args)
+ def initialize(*args) #:nodoc:
@scope = {}
super
end
@@ -388,7 +388,7 @@ module ActionDispatch
end
module Resources
- CRUD_ACTIONS = [:index, :show, :create, :update, :destroy]
+ CRUD_ACTIONS = [:index, :show, :create, :update, :destroy] #:nodoc:
class Resource #:nodoc:
def self.default_actions
@@ -513,7 +513,7 @@ module ActionDispatch
end
end
- def initialize(*args)
+ def initialize(*args) #:nodoc:
super
@scope[:resources_path_names] = @set.resources_path_names
end
@@ -670,7 +670,7 @@ module ActionDispatch
end
protected
- def parent_resource
+ def parent_resource #:nodoc:
@scope[:scope_level_resource]
end
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb
index bb689beed9..c8e4371bb7 100644
--- a/actionpack/lib/action_dispatch/routing/route_set.rb
+++ b/actionpack/lib/action_dispatch/routing/route_set.rb
@@ -11,7 +11,7 @@ module ActionDispatch
PARAMETERS_KEY = 'action_dispatch.request.path_parameters'
- class Dispatcher
+ class Dispatcher #:nodoc:
def initialize(options={})
@defaults = options[:defaults]
@glob_param = options.delete(:glob)
@@ -281,7 +281,7 @@ module ActionDispatch
route
end
- class Generator
+ class Generator #:nodoc:
attr_reader :options, :recall, :set, :script_name, :named_route
def initialize(options, recall, set, extras = false)
diff --git a/actionpack/lib/action_dispatch/routing/url_for.rb b/actionpack/lib/action_dispatch/routing/url_for.rb
index b8c02f402c..dd86aa3e87 100644
--- a/actionpack/lib/action_dispatch/routing/url_for.rb
+++ b/actionpack/lib/action_dispatch/routing/url_for.rb
@@ -4,8 +4,7 @@ module ActionDispatch
# is also possible: an URL can be generated from one of your routing definitions.
# URL generation functionality is centralized in this module.
#
- # See ActionDispatch::Routing and ActionController::Resources for general
- # information about routing and routes.rb.
+ # See ActionDispatch::Routing for general information about routing and routes.rb.
#
# <b>Tip:</b> If you need to generate URLs from your models or some other place,
# then ActionController::UrlFor is what you're looking for. Read on for