aboutsummaryrefslogtreecommitdiffstats
path: root/railties
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken list formatting [ci skip]yuuji.yaginuma2018-08-151-4/+4
|
* Use `Array#extract!` where possiblebogdanvlviv2018-08-141-1/+2
|
* Purpose Metadata For Signed And Encrypted CookiesAssain2018-08-125-10/+22
| | | | | | | | | | | | | | | | Purpose metadata prevents cookie values from being copy-pasted and ensures that the cookie is used only for its originally intended purpose. The Purpose and Expiry metadata are embedded inside signed/encrypted cookies and will not be readable on previous versions of Rails. We can switch off purpose and expiry metadata embedded in signed and encrypted cookies using config.action_dispatch.use_cookies_with_metadata = false if you want your cookies to be readable on older versions of Rails.
* Merge pull request #33587 from bogdanvlviv/follow-up-33202Kasper Timm Hansen2018-08-112-4/+3
|\ | | | | `bundle binstubs bundler` should be executed after `bundle install`
| * `bundle binstubs bundler` should be executed after `bundle install`bogdanvlviv2018-08-112-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: `bundle binstubs bundler` doesn't generate `bin/bundle` for newly generated Rails app. ``` ... (snip) run bundle binstubs bundler The git source https://github.com/rails/web-console.git is not yet checked out. Please run `bundle install` before trying to start your application run bundle install Fetching https://github.com/rails/web-console.git (snip) ... ``` Related to #33202
* | Make active job name prefix static since Rails.env will always be the sameVinicius Stock2018-08-111-1/+1
|/
* Merge pull request #33202 from deivid-rodriguez/bundler_binstubsEileen M. Uchitelle2018-08-115-32/+29
|\ | | | | Bundler binstubs
| * Generate bundler-compatible bundler binstubDavid Rodríguez2018-06-235-6/+14
| |
| * Improve readability of some specsDavid Rodríguez2018-06-231-9/+9
| |
| * Factor out some common bundler mocking logicDavid Rodríguez2018-06-231-20/+9
| |
* | Merge pull request #33553 from ↵Eileen M. Uchitelle2018-08-111-0/+18
|\ \ | | | | | | | | | | | | bogdanvlviv/ensure-load_schema-does_not-output-in-parallel-tests-execution Ensure that running tests in parallel doesn't display schema load output
| * | Ensure that running tests in parallel doesn't display schema load outputbogdanvlviv2018-08-081-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | https://github.com/rails/rails/pull/33479 changed `#load_schema` to prevent displaying schema load on running tests in parallel. We should test this in order to prevent any regression in the future. Context https://github.com/rails/rails/pull/33479#discussion_r206870727
* | | Fix the obvious typos detected by github.com/client9/misspellKazuhiro Sera2018-08-081-1/+1
|/ /
* | update BacktraceCleaner::RENDER_TEMPLATE_PATTERN to match the ↵Lachlan Sylvester2018-08-072-1/+8
| | | | | | | | ActionView::Template method names
* | Filter backtrace in test to ensure irb counts as user codeLachlan Sylvester2018-08-061-5/+6
| |
* | Log the remote IP addr of clients behind a proxyAtul Bhosale2018-07-312-1/+7
| | | | | | | | [Atul Bhosale, Victor Nawothnig]
* | Enable Start/EndWith and RegexpMatch copsBart de Water2018-07-287-9/+9
| | | | | | | | | | In cases where the MatchData object is not used, this provides a speed-up: https://github.com/JuanitoFatas/fast-ruby/#stringmatch-vs-stringmatch-vs-stringstart_withstringend_with-code-start-code-end
* | Merge pull request #32381 from q-centrix/update-codeclimate-configsRichard Schneeman2018-07-257-28/+13
|\ \ | | | | | | Turn on performance based cops
| * | Turn on performance based copsDillon Welch2018-07-237-28/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use attr_reader/attr_writer instead of methods method is 12% slower Use flat_map over map.flatten(1) flatten is 66% slower Use hash[]= instead of hash.merge! with single arguments merge! is 166% slower See https://github.com/rails/rails/pull/32337 for more conversation
* | | Merge pull request #33229 from ↵Matthew Draper2018-07-2517-30/+30
|\ \ \ | | | | | | | | | | | | | | | | albertoalmagro/albertoalmagro/prefer-rails-command-over-bin-rails Prefer rails command over bin/rails
| * | | Show rails instead of bin/rails on USAGE instructionsAlberto Almagro2018-07-066-11/+11
| | | | | | | | | | | | | | | | | | | | With this commit, rails commands usage instructions display now +rails+ instead of +bin/rails+ within their recommendations.
| * | | Recommend use of rails over bin/railsAlberto Almagro2018-07-0612-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in #33203 rails command already looks for, and runs, bin/rails if it is present. We were mixing recommendations within guides and USAGE guidelines, in some files we recommended using rails, in others bin/rails and in some cases we even had both options mixed together.
* | | | Rails guides are now served over httpsPaul McMahon2018-07-2413-16/+16
| |/ / |/| | | | | | | | | | | http links will be redirected to the https version, but still better to just directly link to the https version.
* | | Merge pull request #33403 from ↵Kasper Timm Hansen2018-07-221-59/+58
|\ \ \ | | | | | | | | | | | | | | | | bogdanvlviv/clarify-test_notes_finds_notes_in_custom_directories Clarify `railties/test/application/rake/notes_test.rb`
| * | | Clarify `railties/test/application/rake/notes_test.rb`bogdanvlviv2018-07-211-59/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 1996fbe2a3e46ff5698bfa3812afb7f42cdfa899 `rails notes` isn't the same as `rake notes`. Since that, we should test `rake routes` instead of `rails notes` in `railties/test/application/rake/notes_test.rb` file. So I changed all occurrences of `rails routes` to `rake routes` in that file, and added assertions about deprecation warning of using `rake notes`. It will help to figure out that we should remove `railties/test/application/rake/notes_test.rb` entirely in favour of `railties/test/commands/notes_test.rb` that was added in 1996fbe2a3e46ff5698bfa3812afb7f42cdfa899.
* | | | Merge pull request #32984 from chiraggshah/min-thread-env-variableRichard Schneeman2018-07-211-2/+3
|\ \ \ \ | |/ / / |/| | | Separate min and max threads count environment variable for puma configuration
| * | | Modified the changes to make it backward compatibleChirag Shah2018-07-211-1/+1
| | | |
| * | | Separate min and max threads count for pumaChirag Shah2018-05-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same environment variable RAILS_MAX_THREADS was being used for setting the minimum and maximum thread count for puma. This change makes it obvious and easy to decide which environment variable to change for setting the min or max. Don't feel like this is a breaking change as the same default is maintained.
* | | | Fix deprecation message for `SOURCE_ANNOTATION_DIRECTORIES`yuuji.yaginuma2018-07-202-1/+4
| | | | | | | | | | | | | | | | Also, added a test that a deprecated message will be output.
* | | | Enable `Layout/EmptyLinesAroundBlockBody` to reduce review cost in the futureRyuta Kamizono2018-07-123-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We sometimes ask "✂️ extra blank lines" to a contributor in reviews like https://github.com/rails/rails/pull/33337#discussion_r201509738. It is preferable to deal automatically without depending on manpower.
* | | | Merge pull request #33308 from anniecodes/notes-command-changelogRafael França2018-07-091-0/+19
|\ \ \ \ | | | | | | | | | | Add rake notes and SOURCE_ANNOTATION_DIRECTORIES deprecation to Changelog
| * | | | Add deprecations related to `rails notes` command to ChangelogAnnie-Claude Côté2018-07-091-0/+19
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | * SOURCE_ANNOTATION_DIRECTORIES deprecation * Deprecation of `rake notes`, use `rails notes` instead * Deprecation of `rails notes:custom ANNOTATION=custom`, `rails notes:optimize`, `rails notes:todo`, and `rails notes:fixme` in favor of passing `-annotations` or `-a` to `rails notes` * They have all been deprecrated in https://github.com/rails/rails/pull/33220
* | | | Merge pull request #28266 from Stellenticket/allow_disable_server_stdout_loggingKasper Timm Hansen2018-07-082-2/+21
|\ \ \ \ | | | | | | | | | | rails server: Allow to explicitly specify whether to output Rails's log to stdout
| * | | | Allow to explicitly specify whether to output Rails' log to stdoutMarkus Doits2018-07-082-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before Rails' logger output is mirrored to std out if: * environment is development and * the process is not daemonized It was not possible to change that behaviour, e.g. to disable log output in that case or enable it in other cases. Now you can explicitly disable or enable output with the new command line switch `--log-to-stdout`, regardless of any other circumstances. ``` // enable output in production rails server -e production --log-to-stdout // disable output in development rails server -e development --no-log-to-stdout ``` Enabling output when daemonized still makes no sense (since tty is detached), but this is ignored for now. If the command line flag is not specified, old behaviour still applies, so this change is completely backward compatible.
* | | | | Fix rubocop offense introduced in 161ed37bogdanvlviv2018-07-081-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We prefer double quotes over single quotes. Fixes: ``` railties/lib/rails/commands/server/server_command.rb:279:39: C: Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoi d extra backslashes for escaping. original_options.concat [ '-u', using ] ``` Related to 161ed37d7120e1f391eed19e49a3390e53e4fe91
* | | | Don't balloon @original_options with --restart on restart.Kasper Timm Hansen2018-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our restart_command would pass in `--restart` which means that if the @original_options already contains --restart it would keep getting another --restart appended. Nothing here that would break the bank, but just a nicety.
* | | | Don't show unneeded deprecation warning on server restart.Kasper Timm Hansen2018-07-072-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If booting a server via `rails s -u puma`, we'd convert the option to a `using` positional. When using `rails restart` our `restart_command` would the option converted to the using positional and put that in the restart command. Thus we'd show users deprecation warnings for our own code. Fix that by converting a passed positional to an option instead. Also: fix initialize method signature. The local_options are an array, not a hash. But don't even bother assigning defaults as Thor passes them in.
* | | | Remove restart_command leftover from switching to Thor options.Kasper Timm Hansen2018-07-071-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ref: https://github.com/rails/rails/commit/654704247eba742e139cfaa8d1385f13605d9e12 Before the commit we had a restart_command in Rails::Server. But after there's another one in Rails::ServerCommand. The command version of the method is the right one as it's used in server_options. Give the leftover method the boot.
* | | | Use only snake cased symbols in commands.Kasper Timm Hansen2018-07-071-5/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mixing strings and symbols seems aesthetically less than ideal. We can also use underscores just fine. Thor converts them to dashes for the CLI and it makes access in Ruby code nicer. Here's the `server --help` output after this change: ``` Usage: rails server [thin/puma/webrick] [options] Options: -p, [--port=port] # Runs Rails on the specified port - defaults to 3000. -b, [--binding=IP] # Binds Rails to the specified IP - defaults to 'localhost' in development and '0.0.0.0' in other environments'. -c, [--config=file] # Uses a custom rackup configuration. # Default: config.ru -d, [--daemon], [--no-daemon] # Runs server as a Daemon. -e, [--environment=name] # Specifies the environment to run this server under (development/test/production). -u, [--using=name] # Specifies the Rack server used to run the application (thin/puma/webrick). -P, [--pid=PID] # Specifies the PID file. # Default: tmp/pids/server.pid -C, [--dev-caching], [--no-dev-caching] # Specifies whether to perform caching in development. [--early-hints], [--no-early-hints] # Enables HTTP/2 early hints. ``` See? Quite dashing ✨
* | | Merge pull request #32776 from Edouard-chin/ec-as-hooksKasper Timm Hansen2018-07-051-10/+11
|\ \ \ | | | | | | | | Use testing lazy-load hooks
| * | | Use testing lazy-load hooks:Edouard CHIN2018-07-041-10/+11
| | | | | | | | | | | | | | | | - In order to avoid loading classes prematurely, let's use lazy load hooks that are now provided with each test case
* | | | Make NotesCommand tests more performant by getting rid of unecessary mapAnnie-Claude Côté2018-07-051-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Get rid of map and replace it with a multiplication of "\n" to generate document with multiple line preceding the annotation * Reduce number from 1000 to 100 since it achieves the same goal * Only keep one test for the multiple lines document since it's unecessary to test multiple times * Update some language in tests names to make it clearer what we are testing
* | | | Merge pull request #33220 from anniecodes/notes-commandKasper Timm Hansen2018-07-054-18/+184
|\ \ \ \ | |/ / / |/| | | Adds `Rails::Command::NotesCommand` and makes `rake notes` use it under the hood
| * | | Port Annotations rake task to use Rails::NotesCommandAnnie-Claude Côté2018-07-042-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Invokes the notes Rails::Command and passes the rake task ENV variables as annotations options to it * Adds a deprecation warning for unsupported commands * Gets rid of reference to ENV["SOURCE_ANNOTATION_DIRECTORIES"] in SourceAnnotationExtractor since its now dealt with in the NotesCommand * Gets rid of rake desc for each rake notes task so they are not documented while using `rails -T` or `rails --help`
| * | | Adds support to register directories and extensions to NotesCommandAnnie-Claude Côté2018-07-042-0/+46
| | | | | | | | | | | | | | | | | | | | * Require the application and environnement in the notes command in order to load the config files * Adds tests for both register_directories and register_extensions added to a config file
| * | | Adds a Rails::Command for NotesAnnie-Claude Côté2018-07-042-0/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * It is called with `rails notes` * It defaults to displaying [OPTIMIZE, FIXME and TODO] annotations * It accepts custom annotations by using `rails notes -a CUSTOM_ANNOTATION OTHER_ANNOTATION` * It defaults to look for annotations in [app config db lib test] as dictated by SourceAnnotationExtractor * It supports ENV["SOURCE_ANNOTATION_DIRECTORIES"] but adds a deprecation warning and recommends using register_directories instead
| * | | [ci skip] Update documentation related to `rails notes`Annie-Claude Côté2018-07-031-11/+3
| |/ / | | | | | | | | | | | | | | | * Get rid of references to rake notes in the documentation * Get rid of references to environement variables used in SourceAnnotationExtractor * Updates the command line guide to reflect the new rails notes API
* | | Remove old TODO commentAlberto Almagro2018-07-041-1/+0
| | | | | | | | | | | | | | | This TODO comment has been here more than 7 years and doesn't seem to be a temporary implementation anymore.
* | | Merge pull request #33054 from jboler/masterRafael França2018-07-032-20/+4
|\ \ \ | | | | | | | | Fix route eager loading
| * | | Only execute route updater once on app bootJonathan Boler2018-06-192-6/+2
| | | |