aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
Commit message (Collapse)AuthorAgeFilesLines
* Retrieve source code for the entire stack traceRyan Dao2014-08-088-69/+109
| | | | | | Provide the ability to extract the source code of the entire exception stack trace, not just the frame raising the error. This improves debugging capability of the error page, especially for framework-related errors.
* refactor Redirecting so we do not need a controller instanceAaron Patterson2014-08-061-7/+2
|
* avoid testing only_pathAaron Patterson2014-08-041-0/+4
| | | | | we know that this call only wants the path returned, so lets call a method that returns the path.
* Regenerate sid when sbdy tries to fixate the sessionSantiago Pastorino2014-08-041-3/+3
| | | | | | Fixed broken test. Thanks Stephen Richards for reporting.
* Using no_result_var in Journey's parser generatorJack Danger Canty2014-08-032-43/+33
| | | | | | | | | | | Previously the generated parser had an intermediate local variable `result` that really useful if you're building up a stateful object but Journey always discards the result argument to the reduce functions. This produces a simpler parser for anybody who actually wants to read the thing. Sadly, there's no real performance speedup with this change.
* always return a string from find_script_nameAaron Patterson2014-08-012-7/+9
| | | | this allows us to avoid nil checks on the return value
* use `get` instead of accessing the named routes internalsAaron Patterson2014-07-311-1/+1
|
* invert check so we fail fasterAaron Patterson2014-07-311-1/+1
| | | | | there's no reason to to_sym the string if it doesn't match the regexp anyway
* do a hash lookup for collision detectionAaron Patterson2014-07-312-1/+5
| | | | hash lookup should be faster than searching an array.
* Realign assignments :scissors:Carlos Antonio da Silva2014-07-311-5/+5
|
* Do not reassign variable when mutation is happeningCarlos Antonio da Silva2014-07-311-8/+5
| | | | | These methods mutate the path variable/argument so there is no need to reassign it every time.
* Only concatenate path if it was given rather than converting blindlyCarlos Antonio da Silva2014-07-311-1/+1
|
* Rename variable to better show its intentCarlos Antonio da Silva2014-07-311-12/+12
|
* Simplify conditionalCarlos Antonio da Silva2014-07-311-3/+2
|
* Push options check up so we can simplify internal methodsCarlos Antonio da Silva2014-07-311-13/+10
|
* remove useless deupAaron Patterson2014-07-301-1/+1
| | | | | every call to default_resources_path_names allocates a new hash, no need to dup
* push options inside the scope objectAaron Patterson2014-07-301-4/+9
|
* turn scope in to a linked listAaron Patterson2014-07-301-15/+36
| | | | this makes scope rollback much easier
* remove alias_method_chainAaron Patterson2014-07-301-4/+2
| | | | we can `super` in to the previous implementation.
* avoid instrospection on the moduleAaron Patterson2014-07-301-1/+2
| | | | | we already know what helpers are path helpers, so just iterate through that list and define the helpers with warnings
* fix variable nameAaron Patterson2014-07-301-3/+3
|
* split path_helpers and url_helpersAaron Patterson2014-07-301-18/+25
| | | | | this lets us avoid hard coding a regexp for separating path and url helpers in the clear! method.
* `add` will remove the method if it exists alreadyAaron Patterson2014-07-301-1/+0
|
* Deprecate `*_path` methods in mailers@schneems and @sgrif2014-07-301-48/+72
| | | | | | | | | | | Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead. Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR. Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead. The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`. Paired @sgrif & @schneems
* Revert "Merge pull request #15305 from tgxworld/remove_unnecessary_require"Santiago Pastorino2014-07-301-0/+1
| | | | | | | This reverts commit f632f79b8dcd144408c66a544984b2ba9cf52f87, reversing changes made to 98c7fe87690ca4de6c46e8f69806e82e3f8af42d. Closes #16343
* oops! :bomb:Aaron Patterson2014-07-291-1/+1
| | | | use helpers.include? so we don't get any false positives
* ask the named routes collection if the route is definedAaron Patterson2014-07-292-1/+5
| | | | | we should not be accessing internals to figure out if a method is defined.
* helpers should be a Set so it doesn't grow unboundedAaron Patterson2014-07-291-4/+12
| | | | | since helpers is a set, we can be confident about when to remove methods from the module.
* pass the module to define_named_route_methodsAaron Patterson2014-07-291-7/+7
| | | | after this, we can disconnect @module from the instance
* only ask for the routes module onceAaron Patterson2014-07-291-2/+4
| | | | we can cache the module on the stack, then reuse it
* eval_block should be privateAaron Patterson2014-07-291-0/+1
|
* remove the mounted? methodAaron Patterson2014-07-282-6/+2
| | | | | we know the routes should not be "optimized" when mounting an application
* remove some cachingAaron Patterson2014-07-281-2/+1
| | | | | this caching doesn't increase performance, but does increase complexity. remove it for now and find better ways to speed up this code.
* Fix AC::TemplateAssertions instance variables not resetting.Guo Xiang Tan2014-07-211-0/+1
| | | | Fixes https://github.com/rails/rails/issues/16119.
* LOCALHOST definition should match any 127.0.0.0/8 addressEarl J St Sauver2014-07-181-1/+1
| | | | | | | | | | | | | | | The entire 127.0.0.0/8 range is assigned to the loopback address, not only 127.0.0.0/24. This patch allows ActionDispatch::Request::LOCALHOST to match any IPv4 127.0.0.0/8 loopback address. The only place that the #local? method was previously under test was in the show_expectations_test.rb file. I don't particularly like that that's implicitly where this code is under test, and I feel like I should move some of that testing code into the test/dispatch/request_test.rb file, but I wanted some feedback first. Credit goes to @sriedel for discovering the issue and adding the patch.
* `recall` should be `path_parameters`, also make it requiredAaron Patterson2014-07-171-3/+3
| | | | | | | | "recall" is a terrible name. This variable contains the parameters that we got from the path (e.g. for "/posts/1" it has :controller => "posts", :id => "1"). Since it contains the parameters we got from the path, "path_parameters" is a better name. We always pass path_parameters to `generate`, so lets make it required.
* pass the route name to define_url_helperAaron Patterson2014-07-172-22/+24
| | | | | this allows us to avoid 2 hash allocations per named helper definition, also we can avoid a `merge` and `delete`.
* use a strategy object for generating urls in named helpersAaron Patterson2014-07-172-21/+37
| | | | | | since we know that the route should be a path or fully qualified, we can pass a strategy object that handles generation. This allows us to eliminate an "if only_path" branch when generating urls.
* extract path building to a methodAaron Patterson2014-07-161-9/+11
|
* break out path building logic to methodsAaron Patterson2014-07-161-14/+22
|
* only extract :params from the options hash onceAaron Patterson2014-07-161-3/+2
|
* we do not need to dup the options hash, it is private and a new object each callAaron Patterson2014-07-161-2/+2
|
* push rails app testing upAaron Patterson2014-07-161-9/+13
| | | | this way we only have to test for whether it is a rails app once.
* Rails-ish apps should descend from Rails::RailtieAaron Patterson2014-07-161-8/+3
| | | | | Use an is_a check to ensure it's a Railsish app so we can avoid respond_to calls everywhere.
* app should always be a class (I suppose)Aaron Patterson2014-07-161-1/+1
|
* we should be checking if the app is a classAaron Patterson2014-07-161-1/+1
| | | | | Hopefully `object.class` always returns something that is_a?(Class), so the previous logic didn't really make sense.
* extract inner options before delegating to the helperAaron Patterson2014-07-161-7/+13
| | | | | If we extract the options from the user facing method call ASAP, then we can simplify internal logic.
* always transcode the file to utf-8Aaron Patterson2014-07-161-0/+1
| | | | | | people may be passing filenames to the constructor that are not utf-8, but they will assome that calling `original_filename` returns utf-8 (because that's what it used to do).
* routed applications will respond to these methodsAaron Patterson2014-07-152-2/+2
|
* rack 1.6 encodes the filenames in posts correctly nowAaron Patterson2014-07-151-8/+1
|