| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the routes for each test inside the test method so that
it's easier to see which routes are applicable to which test.
To ensure that each test wasn't invalidated the changes were
done by first removing all of the routes, ensuring that all
of the tests failed and then adding the routes back to each
test one by one. One test for `assert_recognizes` was
removed as it wasn't actually testing the defined routes and
is now tested more thoroughly in routing_assertions_test.rb.
One downside is that the test suite takes about 1s longer
due to having to using `method_missing` for handling the url
helpers as using `include url_helpers` isn't isolated
for each test.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
assert_template: validating option keys
It only handles the keys locals, partial, layout and count.
assert_template(foo: "bar") # raises ArgumentError
assert_template(leiaute: "test") # raises ArgumentError
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Add explicit opt-out for fragment cache digesting
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This add support for sending an explicit opt-out of the "Russian-doll"
cache digest feature on a case-by-case basis. This is useful when cache-
expiration needs to be performed manually and it would be otherwise
difficult to know the exact name of a digested cache key.
More information: https://github.com/rails/cache_digests/pull/16
|
|\ \ \
| |/ /
|/| | |
assert_template("") will now fail no matter whether a template has been rendered or not.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For instance, it prevents false positive in this case:
file = nil
get :index
assert_template("#{file}")
|
|\ \ \
| |_|/
|/| | |
Document :hidden_field_id option for fields_for [ci skip]
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This yields a small bit of performance improvement when building the
defaults from constraints, specially considering that it's rather common
for constraints to be empty.
Also, there's a bit of duplicated code in here that I have to check
before extracting.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of iterating again over the options and setting one by one, we
can just merge the recover hash back to the scope one since all keys
match.
|
| | |
| | |
| | |
| | |
| | | |
Use the same :blocks key in the recover hash to revert the scope options
later.
|
| |/
|/| |
|
| |
| |
| |
| | |
[ci skip]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Was surprising found that this example doesn't work:
scope :api do
resources :users
end
and the right form to use it is:
scope 'api' do
resources :users
end
I think this should work similary as `namespace` where both are allowed.
These two are equivalent:
namespace :api do
resources :users
end
namespace 'api' do
resources :user
end
|
| |
| |
| |
| |
| |
| | |
Since now these objects are not cached anymore, there's no need to have
these private methods, just instantiate each of them in the necessary
place.
|
|\ \
| | |
| | | |
Store FlashHashes in the session as plain hashes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
with unstable class names and instance variables.
Refactor FlashHash to take values for its ivars in the constructor, to pretty up FlashHash.from_session_value.
Remove stale comment on FlashHash: it is no longer Marshaled in the session so we can change its implementation.
Remove blank lines I introduced in controller/test_case.rb.
Unit tests for FlashHash#to_session_value.
Put in a compatibility layer to accept FlashHash serializations from Rails 3.0+.
Test that Rails 3.2 session flashes are correctly converted to the new format.
Remove code path for processing Rails 3.0 FlashHashes since they can no longer deserialize.
Fix session['flash'] deletion condition: it will never be empty?, it will either be nil or a hash with 'discard' and 'flashes' keys.
|
| | |
| | |
| | |
| | | |
Merge url for tests and add changelog entry for #8233.
|
| | |
| | |
| | |
| | |
| | |
| | | |
With a "params" argument, the following error is raised:
undefined method `reject!` for "":String
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This resolves issues when rendering nested partials.
Previously the `PartialRenderer` was reused which led to
situations where the state of the renderer was reset.
Closes #8197
|
| | |
|
| |
| |
| |
| | |
you and shows the diff. Also delayed message calculation so the cost of the diff on success is now gone.
|
| |
| |
| |
| |
| | |
I suck at English, please help me reviewing this <3 <3 <3
[ci skip]
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
actionpack/lib/action_dispatch/routing/redirection.rb
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This allows easy upgrading from the old signed Cookie Store <= 3.2
or the deprecated one in 4.0 (the ones that doesn't use key derivation)
to the new one that signs using key derivation
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use if..else conditions instead of return guards.
Use _ for not used arguments when iterating.
Set the path variable directly instead of using an empty string and <<.
|
| | |
| | |
| | |
| | | |
Introduced in 4a4de567b45ff28035419bc2d92f9b206e3c0a66.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a list of mime types where template text is not html escaped
by default. It prevents `Jack & Joe` from rendering as
`Jack & Joe` for the whitelisted mime types. The default whitelist
contains text/plain.
This follows a whitelist approach where plain text templates are
not escaped, and all the others (json, xml) are. The mime type is
assumed to be set by the abstract controller.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Encrypted cookies
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Developers must set config.secret_key_base in
config/initializers/secret_token.rb
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
How to use it?
cookies.encrypted[:discount] = 45
=> Set-Cookie: discount=ZS9ZZ1R4cG1pcUJ1bm80anhQang3dz09LS1mbDZDSU5scGdOT3ltQ2dTdlhSdWpRPT0%3D--ab54663c9f4e3bc340c790d6d2b71e92f5b60315; path=/
cookies.encrypted[:discount]
=> 45
|
| | |/
| |/| |
|