aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make #increment! and #decrement! methods concurency safeBogdan Gusiev2015-10-055-40/+41
|
* Merge pull request #21784 from yui-knk/fix_reademe_railsGodfrey Chan2015-09-261-1/+1
|\ | | | | [ci skip] Add `Active Model` to a list of independently used modules.
| * [ci skip] Add `Active Model` to a list of independently used modules.yui-knk2015-09-271-1/+1
|/
* Merge pull request #21781 from ronakjangir47/partial_caching_testKasper Timm Hansen2015-09-261-0/+10
|\ | | | | Added test cases where collection partial cached & rendered with different keys
| * Added test cases where collection partial cached for different key and ↵Ronak Jangir2015-09-261-0/+10
| | | | | | | | rendered for different key
* | Fix regression in inverse_of on through associationseileencodes2015-09-266-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `inverse_of` on through associations was accidently removed/caused to stop working in commit f8d2899 which was part of a refactoring on `ThroughReflection`. To fix we moved `inverse_of` and `check_validity_of_inverse!` to the `AbstractReflection` so it's available to the `ThroughReflection` without having to dup any methods. We then need to delegate `inverse_name` method in `ThroughReflection`. `inverse_name` can't be moved to `AbstractReflection` without moving methods that set the instance variable `@automatic_inverse_of`. This adds a test that ensures that `inverse_of` on a `ThroughReflection` returns the correct class name, and the correct record for the inverse relationship. Fixes #21692
* | Merge pull request #21779 from amitsuroliya/typo_fixClaudio B.2015-09-261-1/+1
|\ \ | | | | | | Fix typo in configuration test descritive > descriptive [ci skip]
| * | Fix typo in configuration test descritive > descriptive [ci skip]amitkumarsuroliya2015-09-261-1/+1
| | |
* | | Merge pull request #21778 from amitsuroliya/correct_argument_errorAbdelkader Boudih2015-09-261-1/+1
|\ \ \ | |/ / |/| | Correcting `ActiveRecord::DangerousAttributeError` error message [ci …
| * | Correcting `ActiveRecord::DangerousAttributeError` error message [ci skip]amitkumarsuroliya2015-09-261-1/+1
|/ /
* | Merge pull request #21777 from aditya-kapoor/minor-time-fixAbdelkader Boudih2015-09-261-1/+1
|\ \ | | | | | | minor typo fix [ci skip]
| * | minor typo fix [ci skip]Aditya Kapoor2015-09-261-1/+1
|/ /
* | Merge pull request #21775 from amitsuroliya/fix_column_alias_forRafael Mendonça França2015-09-261-1/+0
|\ \ | | | | | | `column_alias_for` method is no more supporting *keys [ci skip]
| * | `column_alias_for` method is no more supporting *keys [ci skip]amitkumarsuroliya2015-09-261-1/+0
| | |
* | | Merge pull request #21431 from ojab/masterRafael Mendonça França2015-09-262-1/+29
|\ \ \ | | | | | | | | Handle nested fields_for by adding indexes to record_name
| * | | Handle nested fields_for by adding indexes to record_nameojab2015-08-302-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of the form with nested fields_for, i. e. <%= form_for :foos, url: root_path do |f| %> <% @foos.each do |foo| %> <%= f.fields_for 'foo[]', foo do |f2| %> <%= f2.text_field :id %> <% foo.bars.each do |bar| %> <%= f2.fields_for 'bar[]', bar do |b| %> <%= b.text_field :id %> <% end %> <% end %> <% end %> <% end %> <%= f.submit %> <% end %> rails doesn't add index for 'foo' in the inner fields_for block, so field names in the outer fields_for looks like "foos[foo][#{foo_index}][id]" and in the inner "foos[foo[]][bar][#{bar_index}][id]". Submitting of such form leads to an error like: >ActionController::BadRequest (Invalid request parameters: expected Array >(got Rack::QueryParser::Params) for param `foo'): This commit adds indexes for the foos in the inner blocks, so field names become "foos[foo][#{foo_index}][bar][#{bar_index}][id]" and submitting of such form works fine as expected. Fixes #15332
* | | | Merge pull request #21774 from amitsuroliya/fix_predicate_builderRafael Mendonça França2015-09-261-1/+1
|\ \ \ \ | |_|/ / |/| | | Fix `ActiveRecord::PredicateBuilder` docs. as `register_handler` no m…
| * | | Fix `ActiveRecord::PredicateBuilder` docs. as `register_handler` no more ↵amitkumarsuroliya2015-09-261-1/+1
|/ / / | | | | | | | | | ClassMethod, Since commit https://github.com/rails/rails/commit/a3936bbe21f4bff8247f890cacfd0fc882921003 [ci skip]
* | | Merge pull request #19425 from wvengen/feature/activejob-priority-masterRafael Mendonça França2015-09-2511-6/+132
|\ \ \ | | | | | | | | Add job priorities to ActiveJob
| * | | Add job priorities to ActiveJobwvengen2015-09-1711-6/+132
| | | |
* | | | Merge pull request #18303 from maurogeorge/collection_radio_buttons_hidden_fieldRafael Mendonça França2015-09-257-36/+103
|\ \ \ \ | | | | | | | | | | Add a hidden field on the collection_radio_buttons
| * | | | Regression test on CollectionCheckBoxes to accept `include_hidden`Mauro George2015-09-241-0/+7
| | | | | | | | | | | | | | | | | | | | as string
| * | | | Add a hidden field on the collection_radio_buttonsMauro George2015-09-247-36/+96
| | | | | | | | | | | | | | | | | | | | | | | | | This will avoid a error be raised when the only input on the form is the `collection_radio_buttons`.
* | | | | Merge pull request #21767 from ronakjangir47/missing_transform_values_testRafael Mendonça França2015-09-251-0/+12
|\ \ \ \ \ | | | | | | | | | | | | Added missing tests for transform_values! which returns Enumerator
| * | | | | Added missing tests for transform_values! which returns Enumerator without ↵Ronak Jangir2015-09-261-0/+12
| | |_|_|/ | |/| | | | | | | | | | | | | blocks
* | | | | Merge pull request #21773 from amitsuroliya/marked_as_readonlyRafael Mendonça França2015-09-251-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Correcting `ActiveRecord::ReadOnlyRecord` Error Message [ci skip]
| * | | | | Correcting `ActiveRecord::ReadOnlyRecord` Error Message [ci skip]amitkumarsuroliya2015-09-261-1/+1
| | | | | |
* | | | | | nodoc the mutation trackersRafael Mendonça França2015-09-251-2/+2
|/ / / / /
* | | | | Merge pull request #21771 from ronakjangir47/missing_transform_keys_testRafael Mendonça França2015-09-251-0/+12
|\ \ \ \ \ | | | | | | | | | | | | Added missing tests for transform_keys! which returns Enumerator
| * | | | | Added missing tests for transform_keys! which returns Enumerator without blockRonak Jangir2015-09-261-0/+12
| |/ / / /
* | | | | Merge pull request #21768 from Gaurav2728/gaurav-doc_fix_for_mimeRafael Mendonça França2015-09-252-4/+4
|\ \ \ \ \ | | | | | | | | | | | | fix Mime type in doc since mime types via constants is deprecated [ci…
| * | | | | fix Mime type in doc since mime types via constants is deprecated [ci skip]Gaurav Sharma2015-09-262-4/+4
| |/ / / /
* | | | | inherit from our AbstractStoreAaron Patterson2015-09-251-5/+1
| | | | |
* | | | | pull the flash methods in to their own moduleAaron Patterson2015-09-252-34/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only want to activate flash when the user has enabled it. Api servers don't use flash, so add an empty implementation to the base Request object.
* | | | | make sure flash middleware is requiredAaron Patterson2015-09-251-0/+1
| | | | |
* | | | | commit the flash after the controller finishes being servicedAaron Patterson2015-09-253-25/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Committing the flash needs to happen in order for the session to be written correctly, so lets guarantee that it actually does happen.
* | | | | move flash committing to the request object.Aaron Patterson2015-09-252-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | I'm doing this so that we can commit the flash to the session object Out of Band of the flash middleware
* | | | | Merge pull request #21766 from amitsuroliya/missing_breaketEileen M. Uchitelle2015-09-251-1/+1
|\ \ \ \ \ | | | | | | | | | | | | docs, add missing closing bracket. [ci skip]
| * | | | | docs, add missing closing bracket. [ci skip]amitkumarsuroliya2015-09-251-1/+1
| |/ / / /
* | | | | Merge pull request #21770 from pratik96/humanArthur Nogueira Neves2015-09-251-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | Fixed humane -> human [ci skip]
| * | | | Fixed humane -> human [ci skip]Pratik2015-09-261-1/+1
|/ / / /
* | | | Merge pull request #21738 from cllns/remove-to_s-from-exampleEileen M. Uchitelle2015-09-251-19/+1
|\ \ \ \ | | | | | | | | | | [Engines Guide] Remove to_s example, since it's outside the scope
| * | | | Remove to_s exampleSean Collins2015-09-241-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's outside the scope of the Engines guide [skip ci]
* | | | | `validates_acceptance_of` shouldn't require a database connectionSean Griffin2015-09-253-4/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of `attribute_method?` on Active Record requires establishing a database connection and querying the schema. As a general rule, we don't want to require database connections for any class macro, as the class should be able to be loaded without a database (e.g. for things like compiling assets). Instead of eagerly defining these methods, we do it lazily the first time they are accessed via `method_missing`. This should not cause any performance hits, as it will only hit `method_missing` once for the entire class.
* | | | | Merge pull request #21758 from yui-knk/fix_sanitize_test_exampleEileen M. Uchitelle2015-09-251-4/+4
|\ \ \ \ \ | | | | | | | | | | | | Quote prepared statements of `sanitize_sql_array`
| * | | | | Quote prepared statements of `sanitize_sql_array`yui-knk2015-09-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sure unquoted SQL code pass test, but this % style prepared statements are dangerous. Test codes and code examples are also "Rails" codes, so quote placeholder of prepared statements.
* | | | | | Merge pull request #21759 from amitsuroliya/mime_deprecationKasper Timm Hansen2015-09-251-5/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Fix deprecated mime types via constants
| * | | | | Fix deprecated mime types via constantsamitkumarsuroliya2015-09-251-5/+5
|/ / / / / | | | | | | | | | | Accessing mime types via constants is deprecated. Now, we are using `Mime::Type[:JSON]` instead of `Mime::JSON`
* | | | | Don't assert fractional seconds can be applied on unsupported adaptersSean Griffin2015-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was passing prior to 20b177b78ef5d21c8cc255f0376f6b2e948de234, because we were not properly applying our contract that `model.attr == model.tap(&:save).reload.attr` for this case. Now that that has been resolved, this test is invalid on some adapters
* | | | | Apply subsecond precision on assignment when using TZ aware attributesSean Griffin2015-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a time object was assigned to a datetime column, the decorator for TZ aware attributes wouldn't call super, so when using a database without support for subsecond precision, the nanosecond would not be truncated, leading to the value being marked as changed. Interestingly, this also shows our new implementation of dirty checking to be more robust than the old one (with less code and better performance! :tada:!!!)