aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17143 from kuldeepaggarwal/fix-mailToRafael Mendonça França2015-02-202-1/+6
|\ | | | | | | mail_to helper method fix
| * do not generate blank options in mailToKuldeep Aggarwal2014-10-022-2/+8
| | | | | | | | | | when mail_to generate blank options for any passed options(cc, bcc, body, subject) then MICROSOFT OUTLOOK treats it differently and set wrong values in different options.
* | Merge pull request #18914 from kamipo/format_time_according_to_precisionRafael Mendonça França2015-02-2013-44/+168
|\ \ | | | | | | Format the time string according to the precision of the time column
| * | Add schema dumping tests for datetime and time precisionRyuta Kamizono2015-02-203-8/+34
| | |
| * | Format the time string according to the precision of the time columnRyuta Kamizono2015-02-207-22/+45
| | | | | | | | | | | | It is also necessary to format a time column like a datetime column.
| * | Allow `:precision` option for time type columnsRyuta Kamizono2015-02-208-14/+89
| | |
* | | Merge pull request #18665 from sgrif/sg-test-route-allSean Griffin2015-02-202-8/+36
|\ \ \ | | | | | | | | Allow `method: "all"` as a valid routing test option
| * | | Allow `method: "all"` as a valid routing test optionSean Griffin2015-01-232-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the test to mirror the production code, since `via: :all` is a valid option. The behavior in 4.1 did not actually test that it matched all verbs, but instead defaulted to testing for "GET". This implementation aims to better handle the intention of passing "all". What will actually be asserted doesn't quite match up with the generated route, since it appears to just not create a constraint on the method. However, I don't think that we can easily test the lack of that constraint. Testing each of the main 4 HTTP verbs seems to be a reasonably close approximation, which should be sufficient for our needs. Fixes #18511.
* | | | Merge pull request #17144 from skojin/patch-doc-validation-format-z-regexpRafael Mendonça França2015-02-201-1/+1
|\ \ \ \ | | | | | | | | | | fix mistype in doc about \z regexp
| * | | | fix mistype in doc about \z regexpSergey Kojin2014-10-021-1/+1
| | |_|/ | |/| | | | | | | | | | replace \Z with regular \z
* | | | Use a name that better reflect the return valueRafael Mendonça França2015-02-201-2/+2
| | | |
* | | | Merge pull request #17138 from jpcody/rename_default_form_builderRafael Mendonça França2015-02-201-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | Rename default_form_builder to avoid collision
| * | | | Rename default_form_builder to avoid collisionJoshua Cody2014-10-011-2/+2
| | | | |
* | | | | Merge pull request #19012 from LeandroSNunes/api_select_tagRafael Mendonça França2015-02-201-2/+1
|\ \ \ \ \ | | | | | | | | | | | | Corrects the API to method select_tag
| * | | | | Corrects the API to method select_tagLeandro Nunes2015-02-201-2/+1
| | |_|_|/ | |/| | | | | | | | | | | | | The 'selected' option is not doing what it should do. The expected behavior is to pass the value selected by default for the options_from_collection_for_select method
* | | | | Merge pull request #19013 from y-yagi/custom_validators_exampleAbdelkader Boudih2015-02-203-3/+3
|\ \ \ \ \ | |/ / / / |/| | | | use `messages` instead of deprecated `ActiveModel::Errors#[]=` method [ci skip]
| * | | | use `messages` instead of deprecated `ActiveModel::Errors#[]=` method [ci skip]yuuji.yaginuma2015-02-203-3/+3
|/ / / /
* | | | Merge pull request #19007 from evanphx/route_proxyRafael Mendonça França2015-02-193-6/+9
|\ \ \ \ | | | | | | | | | | Cache url_helpers instead of creating each time
| * | | | Make the helpers a required argumentEvan Phoenix2015-02-192-3/+3
| | | | |
| * | | | Cache url_helpers instead of creating each timeEvan Phoenix2015-02-192-5/+8
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has 2 effects: 1. RoutesProxy is CRAZY faster because it's no longer creating a new Module each time method_missing is hit. 2. It bypasses an existing bug in ruby that makes `class << obj` unsafe to be used in threading contexts.
* | | | Merge pull request #19005 from meganemura/remove-last-empty-line-in-gemfileRafael Mendonça França2015-02-192-2/+2
|\ \ \ \ | | | | | | | | | | Remove last empty line when we don't use Windows or JRuby
| * | | | Remove last empty line when we don't use Windows or JRubymeganemura2015-02-202-2/+2
|/ / / /
* | | | Merge pull request #19004 from danieldevries/fix-migration-fieldname-in-exampleAbdelkader Boudih2015-02-191-1/+1
|\ \ \ \ | | | | | | | | | | fix column name in migration example [ci skip]
| * | | | fix column name in migration example [ci skip]Daniël de Vries2015-02-191-1/+1
|/ / / /
* | | | Merge pull request #19002 from bdewater/patch-1Abdelkader Boudih2015-02-191-2/+2
|\ \ \ \ | | | | | | | | | | Fix code sample for custom exception handler to match text [ci skip]
| * | | | Fix code sample for custom exception handler [ci skip]Bart2015-02-191-2/+2
|/ / / /
* | | | Merge pull request #18996 from morgoth/deprecate-more-errors-methodsYves Senn2015-02-196-10/+45
|\ \ \ \ | | | | | | | | | | | | | | | Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` methods
| * | | | Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` methodsWojciech Wnętrzak2015-02-196-10/+43
| | | | | | | | | | | | | | | | | | | | without replacement.
* | | | | Merge pull request #18916 from kamipo/handle_array_option_in_type_to_sqlRafael Mendonça França2015-02-193-37/+32
|\ \ \ \ \ | | | | | | | | | | | | Handle array option in `type_to_sql`
| * | | | | Handle array option in `type_to_sql`Ryuta Kamizono2015-02-191-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `[]` is a part of `sql_type`, so it is always necessary to respect to array option when `type_to_sql` is called.
| * | | | | Use `delegate` to call the methods to `@conn`Ryuta Kamizono2015-02-191-16/+3
| | | | | |
| * | | | | Should handle array option for `:cast_as`Ryuta Kamizono2015-02-192-4/+15
| | | | | |
* | | | | | Merge pull request #18979 from ↵Rafael Mendonça França2015-02-193-8/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/extract_precision_from_datetime_and_time_columns Extract precision from datetime and time columns
| * | | | | | Extract precision from datetime and time columnsRyuta Kamizono2015-02-193-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cause by which the test suite for the mysql adapter broke in 1502cae (reverted 89ba5bb) is because the precision was not extracted. The rounding problem in mysql adapter has not been fixed, but `mysql_56` helper tested only mysql2 adapter, its behavior was not apparent.
* | | | | | | Do not mutate the operations arrayRafael Mendonça França2015-02-191-1/+1
| | | | | | |
* | | | | | | Return true instead of self when suppressedRafael Mendonça França2015-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | save is documented to return singletons so we should always return a singleton.
* | | | | | | Copy edit the suppressor documentationRafael Mendonça França2015-02-193-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | Merge pull request #18910 from perceptec/add_suppressorRafael Mendonça França2015-02-198-0/+118
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | Add `ActiveRecord::Base.suppress` to allow save events to be suppressed within a specified block.
| * | | | | | Add `ActiveRecord::Base.suppress`Michael Ryan2015-02-188-0/+118
| | | | | | |
* | | | | | | Merge pull request #18994 from tgxworld/run_delete_middleware_operations_lastGuillermo Iguaran2015-02-193-2/+28
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Allow Rack::Runtime to be deleted from middleware stack.
| * | | | | | | Allow Rack::Runtime to be deleted from middleware stack.Guo Xiang Tan2015-02-193-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://github.com/rails/rails/issues/16433.
* | | | | | | | Merge pull request #18999 from simi/remove-unused-gsub_app_fileGuillermo Iguaran2015-02-181-6/+0
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Remove unused gsub_app_file method from Bukkit.
| * | | | | | | Remove unused gsub_app_file method from Bukkit.Josef Šimánek2015-02-191-6/+0
|/ / / / / / /
* | | | | | | Freeze strings to reduce allocations in integration testseileencodes2015-02-181-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moves `X-Request-ID`, `action_dispatch.request_id` and `HTTP_X_REQUEST_ID` strings to constants and freezes them. We are freezing these strings to reduce the number of allocations in Rails integration tests. The tests are spending a lot of time in GC and this reduces the amount of time spent from 12% to 9% (in combination with Rack PR that also freezes some strings). Number of allocations before this change: 1030722 Number of allocations after this change: 967722
* | | | | | | Reduce the number of times `#clean_path_info` is calledeileencodes2015-02-181-3/+2
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's unnecessary to call `#clean_path_info`. It doesn't need to be called on the path with each extension. This reduces allocations to `Rack::Utils` in integration tests. Before `#clean_path_info` from `Rack::Utils` (line 622) was number 2 in top 5 allocations: ``` [["rack/lib/rack/utils.rb", 499, :T_STRING], [51034, 4539, 71559, 0, 12, 1791120]] [["rack/lib/rack/utils.rb", 662, :T_STRING], [33012, 0, 27930, 0, 1, 1226009]] [["rails/activesupport/lib/active_support/notifications/fanout.rb", 55, :T_DATA], [29998, 0, 25380, 0, 1, 3230600]] [["rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [29996, 0, 25378, 0, 2, 1113840]] [["rails/activesupport/lib/active_support/notifications/instrumenter.rb", 52, :T_HASH], [29994, 147, 27014, 0, 11, 4897784]] ``` After `#clean_path_info` from `Rack::Utils` (line 622) does not appear in the top 5 highest allocations: ``` [["rack/lib/rack/utils.rb", 499, :T_STRING], [47617, 2414, 68969, 0, 12, 1667360]] [["rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [28230, 0, 26060, 0, 1, 1046800]] [["rails/activesupport/lib/active_support/notifications/fanout.rb", 55, :T_DATA], [28208, 0, 26042, 0, 1, 3034096]] [["rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [28204, 0, 26040, 0, 1, 1046080]] [["rails/activesupport/lib/active_support/callbacks.rb", 165, :T_DATA], [28200, 0, 26046, 0, 2, 3451800]] ```
* | | | | | Merge pull request #18956 from hjoo/time_optionEileen M. Uchitelle2015-02-183-6/+34
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add `time` option to `#touch
| * | | | | | Add `time` option to `#touch`Hyonjee Joo2015-02-183-6/+34
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #18905. `#touch` now takes time as an option. Setting the option saves the record with the updated_at/on attributes set to the current time or the time specified. Updated tests and documentation accordingly.
* | | | | | Try only to decode stringsRafael Mendonça França2015-02-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This approach will avoid us to check for NoMethodError when trying to decode
* | | | | | Merge pull request #18917 from lautis/non-string-csrf-tokenRafael Mendonça França2015-02-183-1/+13
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Handle non-string authenticity tokens
| * | | | | | Handle non-string authenticity tokensVille Lautanala2015-02-123-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Non-string authenticity tokens raised NoMethodError when decoding the masked token.