| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | | |
[ci skip]
|
| | | |
| | | |
| | | |
| | | | |
duplicating API reference in guides. Also :scissors: [ci skip]
|
|\ \ \ \
| |_|/ /
|/| | | |
Add Total of grouped items to Active Record query interface on guides [ci skip]
|
| |/ /
| | |
| | |
| | | |
[ci skip]
|
|\ \ \
| | | |
| | | | |
Remove most code related to serialized properties
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Nearly completely implemented in terms of custom properties.
`_before_type_cast` now stores the raw serialized string consistently,
which removes the need to keep track of "state". The following is now
consistently true:
- `model.serialized == model.reload.serialized`
- A model can be dumped and loaded infinitely without changing
- A model can be saved and reloaded infinitely without changing
|
|\ \ \
| | | |
| | | | |
Don't change values in `@raw_attributes` during serialization
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
During `init_with`, the attributes given to the coder will be placed
into `@raw_attributes`. As such, we should read from `@raw_attributes`
when encoding, rather than `@attributes`, which has been type cast.
|
|\ \ \ \
| | | | |
| | | | | |
Swallow bundler exceptions when running tests
|
| | | | |
| | | | |
| | | | |
| | | | | |
Let's avoid useless output when testing stuff related to Bundler.
|
|\ \ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
config.assets.digests -> config.assets.digest
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
in Asset Pipeline guide.
[skip ci]
|
| | | | |
| | | | |
| | | | |
| | | | | |
be published and requires more attention. [ci skip]
|
|\ \ \ \ \
| | | | | |
| | | | | | |
[ci skip] correct doc for ActionView::Helpers::DebugHelper
|
| | |_|_|/
| |/| | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
[ci skip] Correct output of Hash#symbolize_keys
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Clear all caches calculated based on `@columns` when `@columns` changes
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
[ci skip] Correct documentation of HashWithIndifferentAccess#dup
|
| | |_|_|/
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Update documentation for setting asset_host to a Proc [ci skip]
|
|/ / / /
| | | |
| | | |
| | | | |
request parameter might not be supplied [ci skip]
|
|\ \ \ \
| | | | |
| | | | | |
Add missing test case for writing unknown attributes
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
HashWithIndifferentAccess#dup doc [ci skip]
|
|/ / /
| | |
| | |
| | |
| | | |
The phrase "exact copy" in the existing docmentation is somewhat
misleading.
|
|\ \ \
| | | |
| | | | |
Update some bad test cases for serialized columns
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The first case was not testing what the issue mentioned actually was (A
subclass of a class with serialized attributes does not serialize when
they come from the database).
The second case was a bad coder. It would fail if the model was `dup`ed,
or if the the model was loaded from the database and then saved again.
The third case wasn't testing anything that wasn't covered by the second
(and was also a bad coder for the same reasons as the second).
|
|\ \ \
| | | |
| | | | |
Rename attribute related instance variables to better express intent
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`@attributes` was actually used for `_before_type_cast` and friends,
while `@attributes_cache` is the type cast version (and caching is the
wrong word there, but I'm working on removing the conditionals around
that). I opted for `@raw_attributes`, because `_before_type_cast` is
also semantically misleading. The values in said hash are in the state
given by the form builder or database, so raw seemed to be a good word.
|
|\ \ \ \
| | | | |
| | | | | |
Allow specifying a default value in overloaded properties
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Update guides to mention 3.2.18. [ci skip]
|
|/ / /
| | |
| | |
| | | |
And reword things a little to mention the specific patch release less.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
andreychernih/time-with-zone-string-conversion-speed-up
Speed-up TimeWithZone to String conversion
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I've noticed that `String(model.created_at)` is performing poorly in comparision
with other fields. The source of the problem is a way `Kernel#String` works: it first
tries to call `to_str` (which causes `NoMethodError` in `method_missing`) and then calls `to_s`.
Performance tests:
tz = Time.zone.now
Benchmark.ips do |x|
x.report { String(tz) }
end
Without this code:
Calculating -------------------------------------
572 i/100ms
-------------------------------------------------
10177.7 (±18.2%) i/s - 48620 in 5.000325s
With this code:
Calculating -------------------------------------
1518 i/100ms
-------------------------------------------------
138984.2 (±10.1%) i/s - 677028 in 4.974897s
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[ci skip]
We only introduce new deprecations at Minor releases.
|
|\ \ \ \
| | | | |
| | | | | |
Update Minitest references in Testing Guide
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The Guide references `test/unit`, which has been replaced by `Minitest` in
all versions of Ruby supported by Rails. The following updates were
performed:
* The superclass of `ActiveSupport::TestCase` is no longer
`MiniTest::Unit::TestCase`, but `Minitest::Test` [1].
* The preferred spelling is `Minitest`, not `MiniTest` [2].
* For a method to be a test in Minitest, its name must start with `test_`,
not only `test` [3].
* Explanations about `test/unit` in Ruby 1.8 were removed in favor of more
up-to-date information on `Minitest`.
[1]: https://github.com/rails/rails/blob/6c2b569660c9216595d02ce6412e3bdcc7293317/activesupport/lib/active_support/test_case.rb#L18
[2]: https://github.com/seattlerb/minitest/blob/d5d43cef9a3fd4a0eea972dde125ed5ba1ddb821/lib/minitest.rb#L9
[3]: https://github.com/seattlerb/minitest/blob/d5d43cef9a3fd4a0eea972dde125ed5ba1ddb821/lib/minitest/test.rb#L62
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This removes the case statement in `SchemaDumper` and gives every `Type`
the possibility to control the SchemaDumper default value output.
/cc @sgrif
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is an intermediate solution. It is related to the refactoring @sgrif
is making and will change in the future.
|