aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | [ci skip] update linkDixit Patel2017-12-151-1/+1
| | | | |
* | | | | Merge pull request #31464 from yhirano55/update_guide_indexGeorge Claghorn2017-12-141-0/+4
|\ \ \ \ \ | |/ / / / |/| | | | [ci skip] Update guide index for active storage
| * | | | [ci skip] Update guide index for active storageYoshiyuki Hirano2017-12-151-0/+4
|/ / / /
* | | | Clear dirty `schema_cache` after `dump_schema_cache`Ryuta Kamizono2017-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `dump_schema_cache` fills `schema_cache` even if the test that modifies the schema has properly cleared the schema cache. Fixes #31463.
* | | | Merge pull request #31037 from jeffreyguenther/activestorage-guideGeorge Claghorn2017-12-142-1/+550
|\ \ \ \ | | | | | | | | | | ActiveStorage Guide
| * | | | Tweak whitespaceJeffrey Guenther2017-12-141-0/+1
| | | | |
| * | | | Formatting updatesJeffrey Guenther2017-12-141-14/+19
| | | | |
| * | | | Merge branch 'master' into activestorage-guideJeffrey Guenther2017-12-14164-504/+1138
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Generate tmpname on its ownyuuji.yaginuma2017-12-151-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `make_tmpname` was removed by https://github.com/ruby/ruby/commit/25d56ea7b7b52dc81af30c92a9a0e2d2dab6ff27. In this case, we want a file name, not a `File`. So cannot use `Tempfile`. Fixes #31458
* | | | | Merge pull request #31460 from ↵Ryuta Kamizono2017-12-1511-24/+24
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | yahonda/deprecated_bigdecimal_new_ap_av_aj_as_guides Suppress `warning: BigDecimal.new is deprecated`
| * | | | | Suppress `warning: BigDecimal.new is deprecated`Yasuo Honda2017-12-1511-24/+24
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `BigDecimal.new` has been deprecated in BigDecimal 1.3.3 which will be a default for Ruby 2.5. Refer https://github.com/ruby/bigdecimal/commit/533737338db915b00dc7168c3602e4b462b23503 * This commit has been made as follows: ``` cd rails git grep -l BigDecimal.new | grep -v guides/source/5_0_release_notes.md | grep -v activesupport/test/xml_mini_test.rb | xargs sed -i -e "s/BigDecimal.new/BigDecimal/g" ``` - `activesupport/test/xml_mini_test.rb` Editmanually to remove `.new` and `::` - guides/source/5_0_release_notes.md This is a Rails 5.0 release notes.
* | | | | RedisCacheStore - Fix Default Error HandlerJesse Doyle2017-12-141-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The `DEFAULT_ERROR_HANDLER` constant in `ActiveSupport::Cache::RedisCacheStore` contained references to an undefined argument `e`, which is supposed to refer to the `exception` parameter. * Update the default error handler proc to correctly reference the `exception` parameter.
* | | | | Merge pull request #31434 from olivierlacan/boot-feedbackSean Griffin2017-12-142-0/+8
|\ \ \ \ \ | | | | | | | | | | | | Provide instant feedback when booting Rails
| * | | | | Provide instant feedback when booting RailsOlivier Lacan2017-12-132-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've noticed during pair/mob programming sessions with peers that despite the speed boosts provided by Bootsnap and Spring, there is a noticeable latency between firing a bin/rails server command and any feedback being provided to the console. Depending on the size of the application this lack of feedback can make it seem like something is wrong when Rails is simply busy initializing. This change may seem gratuitous but by just printing one line to STDOUT we're giving a clear signal to the Rails user that their command has been received and that Rails is indeed booting. It almost imperciptibly makes Rails feel more responsive. Sure the code doesn't look very fancy but there's no other appropriate place I could think of putting it than boot.rb. Compare these two GIFs of booting without and with this change: Before: ![Without Boot Feedback](https://user-images.githubusercontent.com/65950/33964140-721041fc-e025-11e7-9b25-9d839ce92977.gif) After: ![With Boot Feedback](https://user-images.githubusercontent.com/65950/33964151-79e12f86-e025-11e7-93e9-7a75c70d408f.gif)
* | | | | | Merge pull request #31452 from yahonda/deprecated_bigdecimal_new_activemodelSean Griffin2017-12-143-23/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | Suppress `warning: BigDecimal.new is deprecated` in Active Model
| * | | | | | Suppress `warning: BigDecimal.new is deprecated` in Active ModelYasuo Honda2017-12-143-23/+23
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `BigDecimal.new` has been deprecated in BigDecimal 1.3.3 which will be a default for Ruby 2.5. Refer ruby/bigdecimal@5337373 * This commit has been made as follows: ```ruby $ cd activemodel/ $ git grep -l BigDecimal.new | grep \.rb | xargs sed -i -e "s/BigDecimal.new/BigDecimal/g" ``` * This commit has been tested with these Ruby versions: ``` ruby 2.5.0dev (2017-12-15 trunk 61262) [x86_64-linux] ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux] ruby 2.2.8p477 (2017-09-14 revision 59906) [x86_64-linux] ```
* | | | | | Merge pull request #31451 from yahonda/hash_digest_class_not_initializedRyuta Kamizono2017-12-151-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Address `warning: instance variable @hash_digest_class not initialized`
| * | | | | | Address `warning: instance variable @hash_digest_class not initialized`Yasuo Honda2017-12-141-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby /path/to/rails/activesupport/lib/active_support/digest.rb:7: warning: instance variable @hash_digest_class not initialized ``
* | | | | | Merge pull request #31453 from yahonda/report_on_exception_true_in_ruby25_mysql2Ryuta Kamizono2017-12-151-0/+2
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Suppress expected exceptions by `report_on_exception` = `false` in mysql2 test
| * | | | | Suppress expected exceptions by `report_on_exception` = `false`Yasuo Honda2017-12-141-0/+2
| |/ / / / | | | | | | | | | | | | | | | Follow up #31428 to address similar exceptions with mysql2 adapter
* / / / / Update nokogiri version on GemfileGuillermo Iguaran2017-12-142-10/+13
|/ / / /
* | | | Merge pull request #31289 from witlessbird/fips-compatibilityEileen M. Uchitelle2017-12-1413-12/+81
|\ \ \ \ | | | | | | | | | | Initial support for running Rails on FIPS-certified systems
| * | | | Introduced `ActiveSupport::Digest` that allows to specify hash function ↵Dmitri Dolguikh2017-12-1213-12/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation and defaults to `Digest::MD5`. Replaced calls to `::Digest::MD5.hexdigest` with calls to `ActiveSupport::Digest.hexdigest`.
* | | | | Merge pull request #26815 from olivierlacan/log-query-sourceEileen M. Uchitelle2017-12-148-7/+97
|\ \ \ \ \ | | | | | | | | | | | | Log the original call site for an ActiveRecord query
| * | | | | Log call site for all queriesOlivier Lacan2017-12-138-7/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new ActiveRecord configuration option allows you to easily pinpoint what line of application code is triggering SQL queries in the development log by appending below each SQL statement log the line of Ruby code that triggered it. It’s useful with N+1 issues, and to locate stray queries. By default this new option ignores Rails and Ruby code in order to surface only callers from your application Ruby code or your gems. It is enabled on newly generated Rails 5.2 applications and can be enabled on existing Rails applications: ```ruby Rails.application.configure do # ... config.active_record.verbose_query_logs = true end ``` The `rails app:upgrade` task will also add it to `config/development.rb`. This feature purposely avoids coupling with ActiveSupport::BacktraceCleaner since ActiveRecord can be used without ActiveRecord. This decision can be reverted in the future to allow more configurable backtraces (the exclusion of gem callers for example).
* | | | | | Enable `Layout/LeadingCommentSpace` to not allow cosmetic changes in the futureRyuta Kamizono2017-12-1432-88/+83
|/ / / / / | | | | | | | | | | | | | | | Follow up of #31432.
* | | | | Use released `resque-scheduler` instead of master versionyuuji.yaginuma2017-12-142-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The v4.3.1 has already released that includes Redis 4.0 support. https://github.com/resque/resque-scheduler/blob/master/CHANGELOG.md#431---2017-11-20
* | | | | Merge pull request #31433 from ↵Rafael França2017-12-132-0/+29
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | jordan-brough/preserve-deprecated-method-visibility Preserve original method visibility when deprecating a method
| * | | | | Preserve original method visibility when deprecating a methodJordan Brough2017-12-132-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes `deprecate` so that it preserves method visibility (like it did previously when it was utilizing `alias_method_chain`). When Module#prepend replaced alias_method_chain in a982a42 it caused deprecated methods to always become public. `alias_method_chain` had this bit of code: https://github.com/rails/rails/blob/v5.0.6/activesupport/lib/active_support/core_ext/module/aliasing.rb#L40-L47 which preserved method visibility. Without this fix, a workaround would be: ```ruby class C8 private def new_method end def old_method end deprecate :old_method, :new_method # workaround: instance_method(:old_method).owner.send(:private, :old_method) end ``` Because the visibility needs to be fixed on the Module prepended by MethodWrapper.
* | | | | | Merge pull request #31435 from yahonda/deprecated_bigdecimal_newRafael França2017-12-1313-24/+24
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Suppress `warning: BigDecimal.new is deprecated` in activerecord
| * | | | | Suppress `warning: BigDecimal.new is deprecated` in activerecordYasuo Honda2017-12-1313-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `BigDecimal.new` has been deprecated in BigDecimal 1.3.3 which will be a default for Ruby 2.5. Refer https://github.com/ruby/bigdecimal/commit/533737338db915b00dc7168c3602e4b462b23503 ``` $ cd rails/activerecord/ $ git grep -l BigDecimal.new | grep \.rb | xargs sed -i -e "s/BigDecimal.new/BigDecimal/g" ``` - Changes made only to Active Record. Will apply the same change to other module once this commit is merged. - The following deprecation has not been addressed because it has been reported at `ActiveRecord::Result.new`. `ActiveRecord::Result.ancestors` did not show `BigDecimal`. * Not addressed ```ruby /path/to/rails/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb:34: warning: BigDecimal.new is deprecated ``` * database_statements.rb:34 ```ruby ActiveRecord::Result.new(result.fields, result.to_a) if result ``` * ActiveRecord::Result.ancestors ```ruby [ActiveRecord::Result, Enumerable, ActiveSupport::ToJsonWithActiveSupportEncoder, Object, Metaclass::ObjectMethods, Mocha::ObjectMethods, PP::ObjectMixin, ActiveSupport::Dependencies::Loadable, ActiveSupport::Tryable, JSON::Ext::Generator::GeneratorMethods::Object, Kernel, BasicObject] ``` This commit has been tested with these Ruby and BigDecimal versions - ruby 2.5 and bigdecimal 1.3.3 ``` $ ruby -v ruby 2.5.0dev (2017-12-14 trunk 61217) [x86_64-linux] $ gem list |grep bigdecimal bigdecimal (default: 1.3.3, default: 1.3.2) ``` - ruby 2.4 and bigdecimal 1.3.0 ``` $ ruby -v ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux-gnu] $ gem list |grep bigdecimal bigdecimal (default: 1.3.0) ``` - ruby 2.3 and bigdecimal 1.2.8 ``` $ ruby -v ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux] $ gem list |grep -i bigdecimal bigdecimal (1.2.8) ``` - ruby 2.2 and bigdecimal 1.2.6 ``` $ ruby -v ruby 2.2.8p477 (2017-09-14 revision 59906) [x86_64-linux] $ gem list |grep bigdecimal bigdecimal (1.2.6) ```
* | | | | | Merge pull request #31432 from yhirano55/add_a_space_to_comment_in_active_jobRafael França2017-12-131-1/+1
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | [ci skip] Add a space to comment in SidekiqAdapter
| * | | | | [ci skip] Add a space to comment in SidekiqAdapterYoshiyuki Hirano2017-12-141-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | * I think it's better to have a leading space after the `#` denoting the start of the comment.
* | | | | Merge pull request #31429 from meinac/expose_activestorage_routesGeorge Claghorn2017-12-132-19/+38
|\ \ \ \ \ | |/ / / / |/| | | | Expose Active Storage routes
| * | | | Expose Active Storage routesMehmet Emin INAC2017-12-132-19/+38
|/ / / /
* | | | Merge pull request #31428 from yahonda/report_on_exception_true_in_ruby25Rafael França2017-12-132-0/+5
|\ \ \ \ | | | | | | | | | | Suppress expected exceptions by `report_on_exception` = `false`
| * | | | Suppress expected exceptions by `report_on_exception` = `false` in Ruby 2.5Yasuo Honda2017-12-132-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Ruby 2.4 introduces `report_on_exception` to control if it reports exceptions in thread, this default value has been `false` in Ruby 2.4. Refer https://www.ruby-lang.org/en/news/2016/11/09/ruby-2-4-0-preview3-released/ * Ruby 2.5 changes `report_on_exception` default value to `true` since this commit https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=61183&view=revision This pull request suppresses expected exceptions by setting `report_on_exception` = `false` it also supports Ruby 2.3 which does not have`report_on_exception`.
* | | | | Merge pull request #30474 from yhirano55/make_it_same_title_in_index_and_pageEileen M. Uchitelle2017-12-135-12/+12
|\ \ \ \ \ | | | | | | | | | | | | Make it same title in index and page [ci skip]
| * | | | | Make it same title in index and page [ci skip]Yoshiyuki Hirano2017-08-315-12/+12
| | | | | |
* | | | | | Exclude ActiveStorage::Filename{#parameters,::Parameters} from API docs [ci ↵George Claghorn2017-12-132-2/+2
| |/ / / / |/| | | | | | | | | | | | | | skip]
* | | | | Merge pull request #31391 from ↵Eileen M. Uchitelle2017-12-131-1/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5t111111/fix-active_storage-installation-failure-in-engine Fix active_storage installation failure when in engine
| * | | | | Invoke app-prefixed active storage task when in engineHirofumi Wakasugi2017-12-131-1/+5
| | | | | |
* | | | | | Fix inheritance object creation from relationRyuta Kamizono2017-12-133-12/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to pass scope attributes to `klass.new` to detect subclass. Otherwise `subclass_from_attributes` can't detect subclass which is had in scope attributes. Fixes #18062. Closes #18227. Closes #30720.
* | | | | | Merge pull request #31425 from chiastolite/optimize_foregin_keys_queryRyuta Kamizono2017-12-131-2/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Optimizing information_schema query for `foreign_keys`
| * | | | | | Optimizing information_schema query for `foreign_keys`Hiroyuki Morita2017-12-131-2/+3
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use CONSTRAINT_SCHEMA key for information_schema.referential_constraints. See https://dev.mysql.com/doc/refman/5.7/en/information-schema-optimization.html. ``` > EXPLAIN SELECT fk.referenced_table_name AS 'to_table', fk.referenced_column_name AS 'primary_key', fk.column_name AS 'column', fk.constraint_name AS 'name', rc.update_rule AS 'on_update', rc.delete_rule AS 'on_delete' FROM information_schema.referential_constraints rc JOIN information_schema.key_column_usage fk USING (constraint_schema, constraint_name) WHERE fk.referenced_column_name IS NOT NULL AND fk.table_schema = 'activerecord_unittest' AND fk.table_name = 'fk_test_has_pk' AND rc.constraint_schema = 'activerecord_unittest' AND rc.table_name = 'fk_test_has_pk'\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: rc partitions: NULL type: ALL possible_keys: NULL key: CONSTRAINT_SCHEMA,TABLE_NAME key_len: NULL ref: NULL rows: NULL filtered: NULL Extra: Using where; Open_full_table; Scanned 0 databases *************************** 2. row *************************** id: 1 select_type: SIMPLE table: fk partitions: NULL type: ALL possible_keys: NULL key: TABLE_SCHEMA,TABLE_NAME key_len: NULL ref: NULL rows: NULL filtered: NULL Extra: Using where; Open_full_table; Scanned 0 databases; Using join buffer (Block Nested Loop) 2 rows in set, 1 warning (0.00 sec) ```
* | | | | | Merge pull request #31423 from ↵Ryuta Kamizono2017-12-134-16/+51
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | bogdanvlviv/fix-protected_environments-with-symbols Fix protected environments with symbols
| * | | | | Update 'Configuring Rails Applications' guidebogdanvlviv2017-12-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add mention about `config.active_record.internal_metadata_table_name` - Add mention about `config.active_record.protected_environments`
| * | | | | Convert protected_environments to an array of stringsbogdanvlviv2017-12-123-16/+47
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These changes prevent ignoring environments name of which is a `Symbol` ``` config.active_record.protected_environments = ['staging', :production] ```
* | | | | Make `sanitize_sql_` methods publicyuuji.yaginuma2017-12-135-152/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, sanitize methods are private. So need `send` to use from outside class. However, sometimes want to use sanitize methods from outside Class when want to generate SQL including multiple tables like search. In order to avoid using `send` in such a case, changed methods to public.
* | | | | Merge pull request #31405 from ↵Rafael França2017-12-126-8/+128
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | bogdanvlviv/fix-conflicts-counter_cache-with-touch-by-optimistic_locking Fix conflicts `counter_cache` with `touch: true` by optimistic locking.