| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
I don't want to rely on mutating ivars. This gives me more freedom when
refactoring
|
| |
|
|
|
|
| |
we don't need to do it so many times.
|
| |
|
|
|
|
| |
Now we only need to call `split_constraints` possibly twice!
|
|
|
|
|
| |
apparently `format` can also come from the scope options, so we need to
extract it there too.
|
|
|
|
|
| |
this way we don't have to insert / delete it from the options hash so
many times.
|
|
|
|
|
| |
eventually we'll remove the need to access `scope` inside the Mapping
object.
|
| |
|
|
|
|
|
|
| |
`using_match_shorthand?` doesn't need to know that an options hash
exists. Also use this opportunity to make the boolean logic a little
more sane
|
| |
|
|
|
|
|
| |
this simplifies the "downstream" logic since we know we'll only be
dealing with one particular type
|
| |
|
|
|
|
|
| |
I think we can find the original place where `action` is added to the
options hash now.
|
| |
|
|
|
|
|
|
| |
we want to try to pull this logic up to where the user actually passed
in "controller" so that it's close to the related call. That way when
we're down the stack, we don't need to wonder "why are we doing this?"
|
| |
|
|
|
|
|
| |
There are some cases where :path is nil on option and we should respect
that.
|
|
|
|
| |
We already know how to handle `path`, so lets just handle it on our own.
|
|
|
|
|
|
|
| |
All callers of `action_path` interpolate the return value in to a
string, so there is no need for the method to to_s it. to_sym on a
symbol will return the same symbol, though I think `action_path` may
always be called with a symbol so this might not be necessary.
|
|
|
|
| |
we only need to check for `path` once.
|
|
|
|
| |
Now we can see where `defaults` options originate
|
| |
|
|
|
|
|
| |
since `controller` and `controller_scope` were the same, just combine
them
|
| |
|
|
|
|
|
| |
This method isn't used internally, isn't tested, isn't documented. We
should delete it.
|
|
|
|
|
| |
add a predicate method so that we can avoid is_a? calls on the resource
object.
|
|
|
|
|
| |
calling `scope` isn't cheap, so try to call cheaper methods that do the
same thing for those particular parameters (in this case `path_scope`)
|
|
|
|
|
| |
`resource_scope` should just put resource scopes on the stack, and
doesn't need to know what a `scope_level` is.
|
|
|
|
|
| |
We just want to augment the scope level, not the frame itself, so just
copy the frame to the new scope object.
|
|
|
|
| |
this gives us an easier way to iterate the stack
|
|
|
|
|
| |
The same information is stored in the `@scope` linked list, so just get
it from there.
|
|
|
|
| |
this lets us remove the setter and make the Resource object Read-Only
|
|
|
|
|
| |
We don't need to ask `scope` for the resource because we already have it
right here.
|
|
|
|
| |
Related with dc1b937db780155089fce522f03d340e62f5df36
|
|
|
|
|
|
| |
eliminates calling `scope` in one method, pushes the other calls up one
frame. This goes a little way towards eliminating the internal calls to
`scope`.
|
|
|
|
| |
we don't really need this hash.
|
|
|
|
|
|
|
| |
we need to get a grip on what `scope` actually does. This commit
removes some of the internal calls to `scope`. Eventually we should add
public facing methods that provide the API that `scope` is trying to
accomplish.
|
|
|
|
|
|
|
| |
`Dispatcher` doesn't need to hold on to the defaults hash. It only used
the hash to determine whether or not it should raise an exception if
there is a name error. We can pass that in further up the stack and
alleviate Dispatcher from knowing about that hash.
|
|
|
|
|
|
| |
We know in advance whether the object is a dispatcher or not, so we can
configure the Constraints object with a strategy that will call the
right method.
|
|
|
|
| |
it isn't used.
|
|
|
|
|
|
|
|
|
|
|
| |
Add descriptions about `ActiveRecord::Base#to_param` to
* `ActionDispatch::Routing::Base#match`
* Overriding Named Route Parameters (guide)
When passes `:param` to route definision, always `to_param` method of
related model is overridden to constructe an URL by passing these
model instance to named_helper.
|
|
|
|
|
|
|
| |
The `dup` was introduced by c4106d0c08954b0761726e0015ec601b7bc7ea4b
to work around a frozen key. Nowadays, the string is already being
duplicated by the `tr` in `options[:action] ||= action.tr('-', '_')`
and later joined into a new string in `name_for_action`.
|
| |
|
|
|
|
|
|
| |
match method without setting `:via` option has been deprecated
fix minor typo
|
| |
|
| |
|
|\
| |
| | |
A shorter and more concise version of select..size
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shorthand route match is when controller and action are taken literally from path.
E.g.
get '/foo/bar' # => will use 'foo#bar' as endpoint
get '/foo/bar/baz' # => will use 'foo/bar#baz' as endpoint
Not any path with level two or more of nesting can be used as shortcut.
If path contains any characters outside of /[\w-]/ then it can't be
used as such.
This commit ensures that invalid shortcuts aren't used.
':controller/:action/postfix' - is an example of invalid shortcut
that was previosly matched and led to exception:
"ArgumentError - ':controller/:action' is not a supported controller name"
|