aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Fix typo submited → submitted [ci skip]hc02082019-07-311-1/+1
| | | |
* | | | Accessing ivar with Symbols might be just a very little bit better than with ↵Akira Matsuda2019-07-314-8/+8
| | | | | | | | | | | | | | | | fstrings
* | | | Avoid creating new Array when looking up already registered detailAkira Matsuda2019-07-311-1/+1
| | | |
* | | | Reduce Hash object creation when normalizing request envAkira Matsuda2019-07-311-2/+3
| | | |
* | | | Cache tags_text to avoid computing tags each time when loggingAkira Matsuda2019-07-311-5/+10
| | | |
* | | | Reduce object allocations in Middleware::StaticAkira Matsuda2019-07-311-11/+12
| | | |
* | | | Reduce unnecessary String creation by not `to_s`ing until nothing matchesAkira Matsuda2019-07-311-1/+1
| | | |
* | | | Reduce String allocation when finding controller classAkira Matsuda2019-07-311-1/+1
| | | |
* | | | No need to dup the payload for an instrumentationAkira Matsuda2019-07-311-1/+1
| | | |
* | | | Speedup and reduce Array creation when constantizing a non-namespaced stringAkira Matsuda2019-07-311-25/+29
|/ / /
* | | Merge pull request #36815 from emp823/masterRyuta Kamizono2019-07-311-1/+1
|\ \ \ | | | | | | | | Fix typo in autoload documentation [ci skip]
| * | | Fix typo in autoload documentation [ci skip]Erik Pearson2019-07-301-1/+1
|/ / /
* | | Bump Trix to ^1.2.0Javan Makhmali2019-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an attachment button to the Trix toolbar that improves overall file upload usability, especially on mobile devices where files can't be dragged / dropped. References: - https://github.com/basecamp/trix/releases/tag/1.2.0 - https://github.com/basecamp/trix/pull/619 - https://github.com/basecamp/trix/issues/582
* | | Merge pull request #36813 from haruyuki97/haruyuki97/fix-comment-in-url-helperPrem Sichanugrist2019-07-301-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Fix a/an usage on `phone_to` documentation. [ci skip]
| * | | fix a typo [ci skip]haruyuki972019-07-301-1/+1
| | | |
* | | | Merge pull request #36812 from nigh7m4r3/readme-comma-usagePrem Sichanugrist2019-07-301-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix comma usage on project's README.md [ci skip]
| * | | | Update README.mdRifatul Islam Chayon2019-07-301-2/+2
|/ / / / | | | | | | | | A very minor change of comma usage.
* | | | Merge pull request #36805 from ↵Ryuta Kamizono2019-07-303-24/+65
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | kamipo/user_supplied_joins_order_should_be_preserved Preserve user supplied joins order as much as possible
| * | | | Preserve user supplied joins order as much as possibleRyuta Kamizono2019-07-303-24/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, string joins are always applied as last joins part, and Arel join nodes are always applied as leading joins part (since #36304), it makes people struggled to preserve user supplied joins order. To mitigate this problem, preserve the order of string joins and Arel join nodes either before or after of association joins. Fixes #36761. Fixes #34328. Fixes #24281. Fixes #12953.
* | | | | Add `silence_warnings` for defining 'not_' prefix enum elementsRyuta Kamizono2019-07-301-1/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To suppress the following warnings in tests. ``` ~/rails/activerecord/lib/active_record/scoping/named.rb:190: warning: method redefined; discarding old not_sent ~/rails/activerecord/lib/active_record/scoping/named.rb:190: warning: previous definition of not_sent was here ```
* | | | Merge pull request #36804 from vzvu3k6k/ttVipul A M2019-07-301-1/+1
|\ \ \ \ | | | | | | | | | | [ci skip] Fix unclosed tags in `Inflector` docs
| * | | | [ci skip] Fix unclosed tags in `Inflector` docsvzvu3k6k2019-07-301-1/+1
| | | | |
* | | | | Merge pull request #36782 from jhawthorn/move_database_exists_to_adapterJohn Hawthorn2019-07-298-18/+13
|\ \ \ \ \ | | | | | | | | | | | | Move DatabaseAlreadyExists detection to DB adapter
| * | | | | Move DatabaseAlreadyExists detection to DB adapterJohn Hawthorn2019-07-298-18/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously it was the responsibility of the database tasks to translate the invalid statement from creating a duplicate database into an ActiveRecord::Tasks::DatabaseAlreadyExists error. It's actually easier for us to do this detection inside of the adapter, where we already do a case statement on the return code to translate the error. This commit introduces ActiveRecord::DatabaseAlreadyExists, a subclass of StatementInvalid, and updates both AbstractMysqlAdapter and PostgresqlAdapter to return this more specific exception in that case. Because this is a subclass of the old exception, StatementInvalid, it should be backwards compatible with any code expecting that from create_database. This works for both create_database and exectute("CREATE DATABASE")
* | | | | | Expand CHANGELOG for #36800 [ci skip]Ryuta Kamizono2019-07-301-2/+2
| |/ / / / |/| | | |
* | | | | Call raise with parentheses like a normal method call with argumentsCarlos Antonio da Silva2019-07-291-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | Using `(raise FooError, "error")` is like forcing a "new scope" around the `raise` call, it's simpler to just wrap the `raise` arguments with parentheses just like any other method call would.
* | | | Merge pull request #36800 from jamespearson/matches_regex_mysqlRyuta Kamizono2019-07-303-0/+58
|\ \ \ \ | | | | | | | | | | Enabled matches_regex for MySql
| * | | | Enabled matches_regex for MySqlJames Pearson2019-07-293-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously matches_regex was only availble on PostgreSql, this will enable it for MySql Usage example: users = User.arel_table; users = User.arel_table; User.where(users[:email].matches_regexp('(.*)\@gmail.com')) Update activerecord/test/cases/arel/visitors/mysql_test.rb Co-Authored-By: Ryuta Kamizono <kamipo@gmail.com>
* | | | | Merge pull request #36198 from oneiros/actionmailer_ssl_optionRyuta Kamizono2019-07-292-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Documentation for ActionMailer's SMTP over SSL/TLS option [ci skip]
| * | | | Improve documentation of `:ssl/:tls` option [ci skip]David Roetzel2019-07-292-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing bullet point to make clear this is actually a separate option from `:openssl_verify_mode`. Add `:ssl/:tls`-option to guides as well [ci skip]
* | | | | Tiny documentation fix [ci skip]Robin Dupret2019-07-291-3/+3
| | | | |
* | | | | Merge pull request #36798 from meganemura/remove-redundant-empty-lineRyuta Kamizono2019-07-291-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Remove redundant empty line when we don't use system test
| * | | | | Remove redundant empty line when we don't use system testmeganemura2019-07-291-1/+1
|/ / / / /
* | | | | Use match? where we don't need MatchDataAkira Matsuda2019-07-2946-67/+67
| | | | |
* | | | | Let the generated initializers/backtrace_silencers.rb code use Regexp#match?Akira Matsuda2019-07-294-4/+4
| | | | |
* | | | | Revert "Use assert_match / assert_no_match for asserting match"Akira Matsuda2019-07-292-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e9651deea4145f62224af56af027bfbb3e45e4cd. Now we're having both `=~` and `match?` for these objects, and it's nicer to have explicit tests for both of them
* | | | | Add AS::TimeZone#match?Akira Matsuda2019-07-295-3/+19
| | | | |
* | | | | Add AS::Multibyte::Chars#match?Akira Matsuda2019-07-292-1/+7
| | | | |
* | | | | Add Mime::Type#match? that doesn't create MatchDataAkira Matsuda2019-07-292-1/+13
| | | | |
* | | | | Suppress Ruby warning: :warning: non-nil $, will be deprecatedAkira Matsuda2019-07-291-2/+6
| | | | |
* | | | | Merge pull request #36031 from st0012/guard-35982Rafael França2019-07-281-1/+16
|\ \ \ \ \ | | | | | | | | | | | | Add test case to guard the query count for relation cache (for #35982)
| * | | | | Assert query counts in cache relation testst00122019-07-281-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | This is to guard the change in #35982
* | | | | | Add viewport meta tag to default application templateLachlan Campbell2019-07-281-0/+1
| | | | | |
* | | | | | Improves compatibility of require_dependency in zeitwerk mode [Closes #36774]Xavier Noria2019-07-282-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applications are not supposed to use require_dependency in their own code if running in zeitwerk mode, and require_dependency was initially aliased to require with that use case in mind. However, there are situations in which you cannot control the mode and need to be compatible with both. There, you might need require_dependency in case you are being executed in classic mode. Think about engines that want to support both modes in their parent applications, for example. Furthermore, Rails itself loads helpers using require_dependency. Therefore, we need better compatibility.
* | | | | | Performance improvement for `String#to`Ryuta Kamizono2019-07-283-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby class String def to1(position) position = [position + length, -1].max if position < 0 self[0, position + 1] end def to2(position) position += size if position < 0 self[0, position + 1] || +"" end end Benchmark.ips do |x| x.report("'foo'.to(1)") { 'foo'.to(1) } x.report("'foo'.to1(1)") { 'foo'.to1(1) } x.report("'foo'.to2(1)") { 'foo'.to2(1) } x.report("'foo'.to(-1)") { 'foo'.to(-1) } x.report("'foo'.to1(-1)") { 'foo'.to1(-1) } x.report("'foo'.to2(-1)") { 'foo'.to2(-1) } x.report("'foo'.to(-10)") { 'foo'.to(-10) } x.report("'foo'.to1(-10)") { 'foo'.to1(-10) } x.report("'foo'.to2(-10)") { 'foo'.to2(-10) } end ``` Result: ``` Warming up -------------------------------------- 'foo'.to(1) 199.859k i/100ms 'foo'.to1(1) 220.293k i/100ms 'foo'.to2(1) 221.522k i/100ms 'foo'.to(-1) 205.032k i/100ms 'foo'.to1(-1) 195.837k i/100ms 'foo'.to2(-1) 214.975k i/100ms 'foo'.to(-10) 214.331k i/100ms 'foo'.to1(-10) 182.666k i/100ms 'foo'.to2(-10) 224.696k i/100ms Calculating ------------------------------------- 'foo'.to(1) 4.685M (± 4.2%) i/s - 23.583M in 5.042568s 'foo'.to1(1) 5.233M (± 5.8%) i/s - 26.215M in 5.026778s 'foo'.to2(1) 5.180M (± 5.7%) i/s - 25.918M in 5.020735s 'foo'.to(-1) 4.253M (± 7.0%) i/s - 21.323M in 5.043133s 'foo'.to1(-1) 4.438M (±11.2%) i/s - 21.934M in 5.025751s 'foo'.to2(-1) 4.716M (± 9.8%) i/s - 23.432M in 5.028088s 'foo'.to(-10) 4.678M (± 9.5%) i/s - 23.148M in 5.007379s 'foo'.to1(-10) 4.428M (± 5.1%) i/s - 22.103M in 5.005155s 'foo'.to2(-10) 5.243M (± 4.6%) i/s - 26.289M in 5.024695s ```
* | | | | | Merge pull request #36787 from st0012/refactor-sql-testsRyuta Kamizono2019-07-282-8/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use capture_sql helper method in tests
| * | | | | | Use capture_sql helper method in testsst00122019-07-282-8/+2
| |/ / / / /
* | | | | | Revert "Merge pull request #36785 from shes50103/fix_typo_actionpack_changelog"Ryuta Kamizono2019-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ac6f3c9299209ea4b2fa7c368ea1ff406735ca93, reversing changes made to 5b0ea95a1a8acc5054f9a58d324070303cbd19b9.
* | | | | | Merge pull request #36185 from jonathanhefner/optimize-string-first-and-lastRafael França2019-07-282-34/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | Improve String#first and #last performance
| * | | | | | Improve String#first and #last performanceJonathan Hefner2019-05-052-34/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes unnecessary conditional and method call for significant performance improvement. As a side effect, this fixes an unexpected behavior where passing a limit of 0 would return a frozen string. This also implements the Rails 6.1 intended behavior with regards to negative limits, and removes the previous deprecation warnings. String#first Comparison: new: 3056515.0 i/s old: 1943310.2 i/s - 1.57x slower String#last Comparison: new: 2691919.0 i/s old: 1924256.6 i/s - 1.40x slower (Note: "old" benchmarks have deprecation warnings commented out, for a more fair comparison.)