aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/journey/path
Commit message (Collapse)AuthorAgeFilesLines
* Enable `Layout/EmptyLinesAroundAccessModifier` copRyuta Kamizono2019-06-131-1/+0
| | | | | | | | | | | We sometimes say "✂️ newline after `private`" in a code review (e.g. https://github.com/rails/rails/pull/18546#discussion_r23188776, https://github.com/rails/rails/pull/34832#discussion_r244847195). Now `Layout/EmptyLinesAroundAccessModifier` cop have new enforced style `EnforcedStyle: only_before` (https://github.com/rubocop-hq/rubocop/pull/7059). That cop and enforced style will reduce the our code review cost.
* Merge pull request #35975 from xithan/masterRafael França2019-04-151-1/+2
|\ | | | | mounted routes with non-word characters
| * mounted routes with non-word charactersxithan2019-04-151-1/+2
| |
* | Adds named_captures to MatchData to emulate RegexBrandon Weaver2019-04-091-0/+4
|/ | | | | | | | | This change adds a `named_captures` method to `ActionDispatch::Journey::Path::MatchData` in order to emulate a similar method present on `Regex`'s `MatchData` present in Ruby core. This method can be useful for introspection of routes without the need to use `zip` while testing or developing in Rails core.
* Restrict matching with word boundary or end of stringPetri Avikainen2019-02-051-1/+1
|
* Define word boundary for unanchored path regexpPetri Avikainen2019-02-051-1/+1
|
* Fix array routing constraintsfatkodima2018-02-171-2/+2
|
* Use frozen string literal in actionpack/Kir Shatrov2017-07-291-0/+2
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Fully initialize routes before the first request is handledJean Boussier2017-01-181-0/+7
| | | | | | | | | | | | `AD::Journey::GTG::Simulator` is lazily built the first time `Journey::Router#find_routes` is invoked, which happens when the first request is served. On large applications with many routes, building the simulator can take several hundred milliseconds (~700ms for us). Triggering this initialization during the boot process reduces the impact of deploys on the application response time.
* applies remaining conventions across the projectXavier Noria2016-08-061-1/+1
|
* applies new string literal convention in actionpack/libXavier Noria2016-08-061-2/+2
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Replace x.times.map{} with Array.new(x){}Viktar Basharymau2016-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The former is slightly more readable, performant and has fewer method calls. ```ruby Benchmark.ips do |x| x.report('times.map') { 5.times.map{} } x.report('Array.new') { Array.new(5){} } x.compare! end __END__ Calculating ------------------------------------- times.map 21.188k i/100ms Array.new 30.449k i/100ms ------------------------------------------------- times.map 311.613k (± 3.5%) i/s - 1.568M Array.new 590.374k (± 1.2%) i/s - 2.954M Comparison: Array.new: 590373.6 i/s times.map: 311612.8 i/s - 1.89x slower ```
* used predicate methods to avoid is_a? checksRonak Jangir2015-10-101-3/+3
|
* avoid is_a? checksAaron Patterson2015-08-171-2/+2
| | | | add another predicate method so we can avoid is_a checks
* pull RegexpOffsets in to a methodAaron Patterson2015-08-171-27/+14
| | | | we don't really need this visitor
* default pattern to use a joined stringAaron Patterson2015-08-171-2/+2
| | | | | The string we create is almost always the same, so rather than joining all the time, lets join once, then reuse that string everywhere.
* remove StrexpAaron Patterson2015-08-131-7/+11
| | | | | This was a useless object. We can just directly construct a Path::Pattern object without a Strexp object.
* pass anchor directly to `Pattern`Aaron Patterson2015-08-131-3/+3
| | | | | the caller already has it, there is no reason to pack it in to an object and just throw that object away.
* Merge pull request #17827 from rkh/rkh-fix-or-patternAaron Patterson2014-12-011-0/+5
|\ | | | | Fix OR in Journey patterns
| * make OR in journey patterns compile to a valid regular expressionKonstantin Haase2014-11-291-0/+5
| |
* | Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-291-2/+2
|/
* no more is_a checks on instantiationAaron Patterson2014-05-291-9/+4
|
* Path::Pattern is instantiated internally, so make the contructor require a ↵Aaron Patterson2014-05-291-7/+6
| | | | strexp object
* ask the strexp for the astAaron Patterson2014-05-291-3/+2
|
* push the formatter up to the Route objectAaron Patterson2014-05-211-3/+2
|
* cache the formatter on the path objectAaron Patterson2014-05-201-0/+5
|
* Replace map.flatten with flat_map in actionpackErik Michaels-Ober2014-03-031-2/+2
|
* Make ActionDispatch::Journey::Path::Pattern#new raise more meaningful ↵zires2013-02-271-1/+1
| | | | exception message.
* update AD::Journey to follow Rails coding conventionsFrancesco Rodriguez2012-12-201-30/+31
|
* :nodoc: Journey because is not part of the public API [ci skip]Francesco Rodriguez2012-12-191-4/+4
|
* Integrate Journey into Action DispatchAndrew White2012-12-191-0/+195
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.