aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/journey
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate `JSON.{parse,load,generate,dump}` and `def to_json`Godfrey Chan2013-11-051-5/+3
| | | | | | | | | | | | | | | JSON.{dump,generate} offered by the JSON gem is not compatiable with Rails at the moment and can cause a lot of subtle bugs when passed certain data structures. This changed all direct usage of the JSON gem in internal Rails code to always go through AS::JSON.{decode,encode}. We also shouldn't be implementing `to_json` most of the time, and these occurances are replaced with an equivilent `as_json` implementation to avoid problems down the road. See [1] for all the juicy details. [1]: intridea/multi_json#138 (comment)
* Correct error in Utils.normalize_path that changed paths improperlyJosh Symonds2013-10-231-1/+1
|
* Make GTG::TransTable thread safe.thedarkone2013-09-281-12/+23
| | | | From now on only the `[]=` method is allowed to modify the internal states hashes.
* Replace global Hash with TS::Cache.thedarkone2013-09-281-1/+4
|
* No need the else clauseRafael Mendonça França2013-09-241-2/+0
|
* Use join to concat the both side of the ASTRafael Mendonça França2013-09-241-1/+2
| | | | Onf of the sides can be nil and it will raise a Conversion error
* Merge pull request #9155 from bogdan/route-formatterAndrew White2013-09-221-23/+23
|\ | | | | Rewrite Journey::Visitors::Formatter for performance
| * Rewrite journey routes formatter for performanceBogdan Gusiev2013-08-281-23/+23
| |
* | [ci skip] Add some comment about downcase url encoded string.kennyj2013-09-221-0/+2
| |
* | Remove 1.8 compatible codekennyj2013-09-191-1/+1
| |
* | Fix an issue where router can't recognize downcased url encoding path.kennyj2013-09-191-0/+1
|/
* Clear named routes when routes.rb is reloadedAndrew White2013-07-211-0/+1
| | | | | | | | Fix an issue where Journey was failing to clear the named routes hash when the routes were reloaded and since it doesn't overwrite existing routes then if a route changed but wasn't renamed it kept the old definition. This was being masked by the optimised url helpers so it only became apparent when passing an options hash to the url helper.
* Skip Rack applications and redirects when generating urlsAndrew White2013-07-162-1/+17
| | | | | | | | | | When generating an unnamed url (i.e. using `url_for` with an options hash) we should skip anything other than standard Rails routes otherwise it will match the first mounted application or redirect and generate a url with query parameters rather than raising an error if the options hash doesn't match any defined routes. Fixes #8018
* store a symbol directly inside DISPATCH_CACHE for extra roflscaleCharlie Somerville2013-06-301-1/+1
|
* Don't remove trailing slash from PATH_INFO for mounted appsPiotr Sarnacki2013-06-211-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Previously when app was mounted as following: class Foo def call(env) [200, {}, [env['PATH_INFO']]] end end RackMountRailsBug::Application.routes.draw do mount RackTest.new => "/foo" end trailing slash was removed from PATH_INFO. For example requesting GET /foo/bar/ on routes defined above would result in a response containing "/foo/bar" instead of "/foo/bar/". This commit fixes the issue. (closes #3215)
* rails -> Rails [ci skip]Prathamesh Sonpatki2013-05-091-1/+1
|
* add missing semicolon to journey parser.yBen Holley2013-04-301-0/+1
|
* Passing subdomain: '' to url_for removes the subdomain (instead of adding a ↵Derek Watson2013-04-181-0/+4
| | | | | | leading .) Adding a boolean route constraint checks for presence/absence of request property
* make [] method in router more readablebuddhamagnet2013-04-151-1/+3
|
* Mark unused variables and make some style fixesAgis Anastasopoulos2013-04-081-1/+1
| | | | It'd be a nice convention to mark the unused variables like this, now that Ruby 2 will issue no warnings for such vars being unused.
* Use custom visitor class for optimized url helpersAndrew White2013-03-032-0/+12
| | | | | | | | Rather than trying to use gsub to remove the optional route segments, which will fail with nested optional segments, use a custom visitor class that returns a empty string for group nodes. Closes #9524
* Make ActionDispatch::Journey::Path::Pattern#new raise more meaningful ↵zires2013-02-271-1/+1
| | | | exception message.
* Change the behavior of route defaultsAndrew White2013-01-151-4/+7
| | | | | | | | | | | | | | | | | | | This commit changes route defaults so that explicit defaults are no longer required where the key is not part of the path. For example: resources :posts, bucket_type: 'posts' will be required whenever constructing the url from a hash such as a functional test or using url_for directly. However using the explicit form alters the behavior so it's not required: resources :projects, defaults: { bucket_type: 'projects' } This changes existing behavior slightly in that any routes which only differ in their defaults will match the first route rather than the closest match. Closes #8814
* Add support for other types of routing constraintsAndrew White2013-01-152-10/+25
| | | | | | | | | | | | | | This now allows the use of arrays like this: get '/foo/:action', to: 'foo', constraints: { subdomain: %w[www admin] } or constraints where the request method returns an Fixnum like this: get '/foo', to: 'foo#index', constraints: { port: 8080 } Note that this only applies to constraints on the request - path constraints still need to be specified as Regexps as the various constraints are compiled into a single Regexp.
* Raise correct exception now Journey is integrated.Andrew White2013-01-151-1/+6
| | | | | | | Now that Journey has been integrated into ActionDispatch we can raise the exception ActionController::UrlGenerationError directly rather than raising the internal Journey::Router::RoutingError and then have ActionDispatch::Routing::RouteSet#generate re-raise the exception.
* access `@path` and `@routes` via reader methods in journeyGosha Arinich2013-01-072-3/+3
|
* refactor Journey::RoutesGosha Arinich2013-01-071-12/+11
| | | | | * prefer do-end for multiline blocks * prefer or-equals over returns with checks
* Refactor to not call path.ast twiceCarlos Antonio da Silva2013-01-061-2/+3
|
* refactor Route#ast to use or-equals and block, instead of return with a condGosha Arinich2013-01-061-5/+4
|
* remove another unnecessary dupGosha Arinich2013-01-021-5/+3
|
* remove unnecessary #dupGosha Arinich2013-01-021-2/+1
|
* Fix indentation issuing warningCarlos Antonio da Silva2012-12-201-1/+1
|
* update AD::Journey to follow Rails coding conventionsFrancesco Rodriguez2012-12-2016-437/+439
|
* :nodoc: Journey because is not part of the public API [ci skip]Francesco Rodriguez2012-12-1920-78/+75
|
* remove code for Ruby 1.8.x supportFrancesco Rodriguez2012-12-191-7/+2
|
* Remove the actual extension file as well [ci skip]Andrew White2012-12-191-11/+0
|
* Remove obsolete Hash extension needed for Ruby 1.8.x supportAndrew White2012-12-191-1/+0
| | | | [ci skip]
* Integrate Journey into Action DispatchAndrew White2012-12-1925-0/+2333
Move the Journey code underneath the ActionDispatch namespace so that we don't pollute the global namespace with names that may be used for models. Fixes rails/journey#49.