{"action":"created","comment":{"url":"https://api.github.com/repos/rails/rails/pulls/comments/227502461","pull_request_review_id":167551036,"id":227502461,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNzUwMjQ2MQ==","diff_hunk":"@@ -43,215 +43,120 @@ $ git clone https://github.com/rails/rails.git\n $ cd rails\n ```\n \n-### Set up and Run the Tests\n+### Install Additional Tools and Services\n \n-The test suite must pass with any submitted code. No matter whether you are writing a new patch, or evaluating someone else's, you need to be able to run the tests.\n+Some Rails tests depend on additional tools that you need to install before running those specific tests.\n \n-Install first SQLite3 and its development files for the `sqlite3` gem. On macOS\n-users are done with:\n+Here's the list of each gems' additional dependencies:\n \n-```bash\n-$ brew install sqlite3\n-```\n-\n-In Ubuntu you're done with just:\n-\n-```bash\n-$ sudo apt-get install sqlite3 libsqlite3-dev\n-```\n-\n-If you are on Fedora or CentOS, you're done with\n-\n-```bash\n-$ sudo yum install libsqlite3x libsqlite3x-devel\n-```\n-\n-If you are on Arch Linux, you will need to run:\n-\n-```bash\n-$ sudo pacman -S sqlite\n-```\n-\n-For FreeBSD users, you're done with:\n-\n-```bash\n-# pkg install sqlite3\n-```\n-\n-Or compile the `databases/sqlite3` port.\n-\n-Get a recent version of [Bundler](https://bundler.io/)\n-\n-```bash\n-$ gem install bundler\n-$ gem update bundler\n-```\n-\n-and run:\n-\n-```bash\n-$ bundle install --without db\n-```\n-\n-This command will install all dependencies except the MySQL and PostgreSQL Ruby drivers. We will come back to these soon.\n-\n-NOTE: If you would like to run the tests that use memcached, you need to ensure that you have it installed and running.\n-\n-You can use [Homebrew](https://brew.sh/) to install memcached on macOS:\n-\n-```bash\n-$ brew install memcached\n-```\n+* Action Cable depends on Redis\n+* Active Record depends on SQLite3, MySQL and PostgreSQL\n+* Active Storage depends on Yarn (additionally Yarn depends on [Node.js](https://nodejs.org/))\n+* Active Support depends on memcached and Redis\n+* Railties depend on a JavaScript runtime environment, such as having [Node.js](https://nodejs.org/) installed.\n \n-On Ubuntu you can install it with apt-get:\n+Install all the services you need to properly test the full gem you'll be making changes to.\n+For example, if you will make changes to Action Cable, you _must_ install Redis, in order to be able to run all Action Cable tests before submitting your pull request.\n \n-```bash\n-$ sudo apt-get install memcached\n-```\n+NOTE: Redis' documentation discourage installations with package managers as those are usually outdated. Installing from source and bringing the server up is straight forward and well documented on [Redis' documentation](https://redis.io/download#installation).\n \n-Or use yum on Fedora or CentOS:\n-\n-```bash\n-$ sudo yum install memcached\n-```\n+NOTE: Active Record's test suite runs three times: once for SQLite3, once for MySQL, and once for PostgreSQL. We are going to see now how to set up the environment for them.\n \n-If you are running on Arch Linux:\n+NOTE: Extracting previews, tested in Active Storage's test suite requires third-party applications:\n+ImageMagick for images, FFmpeg for video and muPDF for PDFs, and on macOS also XQuartz and Poppler.\n+Without these applications installed, Active Storage tests will raise errors.\n \n-```bash\n-$ sudo pacman -S memcached\n-```\n+WARNING: If you're working with Active Record code, you _must_ ensure that the tests pass for at least MySQL, PostgreSQL, and SQLite3. Subtle differences between the various adapters have been behind the rejection of many patches that looked OK when tested only against single adapter.\n \n-For FreeBSD users, you're done with:\n+Below you can find instructions on how to install all of the additional tools for different OSes.\n \n-```bash\n-# pkg install memcached\n-```\n+#### macOS\n \n-Alternatively, you can compile the `databases/memcached` port.\n+On macOS you can use [Homebrew](https://brew.sh/) to install all of the additional tools.\n \n-With the dependencies now installed, you can run the test suite with:\n+To install all run:\n \n ```bash\n-$ bundle exec rake test\n+$ brew bundle\n ```\n \n-You can also run tests for a specific component, like Action Pack, by going into its directory and executing the same command:\n+You'll also need to start each of the installed services. To list all available services run:\n \n ```bash\n-$ cd actionpack\n-$ bundle exec rake test\n+$ brew services list\n ```\n \n-If you want to run the tests located in a specific directory use the `TEST_DIR` environment variable. For example, this will run the tests in the `railties/test/generators` directory only:\n+You can then start each of the services one by one like this:\n \n ```bash\n-$ cd railties\n-$ TEST_DIR=generators bundle exec rake test\n+$ brew services start mysql\n ```\n \n-You can run the tests for a particular file by using:\n+Replace `mysql` with the name of the service you want to start.\n \n-```bash\n-$ cd actionpack\n-$ bundle exec ruby -Itest test/template/form_helper_test.rb\n-```\n+#### Ubuntu\n \n-Or, you can run a single test in a particular file:\n+To install all run:\n \n ```bash\n-$ cd actionpack\n-$ bundle exec ruby -Itest path/to/test.rb -n test_name\n+$ sudo apt-get update\n+$ sudo apt-get install sqlite3 libsqlite3-dev mysql-server libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools\n+# install yarn\n+$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -\n+$ echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list\n+$ sudo apt-get install yarn\n ```\n \n-### Railties Setup\n-\n-Some Railties tests depend on a JavaScript runtime environment, such as having [Node.js](https://nodejs.org/) installed.\n-\n-### Active Record Setup\n-\n-Active Record's test suite runs three times: once for SQLite3, once for MySQL, and once for PostgreSQL. We are going to see now how to set up the environment for them.\n-\n-WARNING: If you're working with Active Record code, you _must_ ensure that the tests pass for at least MySQL, PostgreSQL, and SQLite3. Subtle differences between the various adapters have been behind the rejection of many patches that looked OK when tested only against MySQL.\n+#### Fedora or CentOS\n \n-#### Database Configuration\n-\n-The Active Record test suite requires a custom config file: `activerecord/test/config.yml`. An example is provided in `activerecord/test/config.example.yml` which can be copied and used as needed for your environment.\n-\n-#### MySQL and PostgreSQL\n-\n-To be able to run the suite for MySQL and PostgreSQL we need their gems. Install\n-first the servers, their client libraries, and their development files.\n-\n-On macOS, you can run:\n+To install all run:\n \n ```bash\n-$ brew install mysql\n-$ brew install postgresql\n+$ sudo yum install libsqlite3x libsqlite3x-devel mysql-server mysql-devel postgresql-server postgresql-devel redis memcached imagemagick ffmpeg mupdf\n+# install yarn\n+$ sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo\n+$ sudo yum install yarn\n ```\n \n-Follow the instructions given by Homebrew to start these.\n+#### Arch Linux\n \n-On Ubuntu, just run:\n+To install all run:\n \n ```bash\n-$ sudo apt-get install mysql-server libmysqlclient-dev\n-$ sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev\n+$ sudo pacman -S sqlite mariadb libmariadbclient mariadb-clients postgresql postgresql-libs redis memcached imagemagick ffmpeg mupdf mupdf-tools poppler\n+$ sudo systemctl start redis\n ```\n \n-On Fedora or CentOS, just run:\n+NOTE: If you are running Arch Linux, MySQL isn't supported anymore so you will need to\n+use MariaDB instead (see [this announcement](https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/)).\n \n-```bash\n-$ sudo yum install mysql-server mysql-devel\n-$ sudo yum install postgresql-server postgresql-devel\n-```\n+#### FreeBSD\n \n-If you are running Arch Linux, MySQL isn't supported anymore so you will need to\n-use MariaDB instead (see [this announcement](https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/)):\n+To install all run:\n \n ```bash\n-$ sudo pacman -S mariadb libmariadbclient mariadb-clients\n-$ sudo pacman -S postgresql postgresql-libs\n+# pkg install sqlite3 mysql56-client mysql56-server postgresql94-client postgresql94-server memcached imagemagick ffmpeg mupdf","path":"guides/source/development_dependencies_install.md","position":220,"original_position":220,"commit_id":"9ba0e9e432148463bc3641c3bd3dbaa90f0be3ab","original_commit_id":"9ba0e9e432148463bc3641c3bd3dbaa90f0be3ab","user":{"login":"robin850","id":354185,"node_id":"MDQ6VXNlcjM1NDE4NQ==","avatar_url":"https://avatars0.githubusercontent.com/u/354185?v=4","gravatar_id":"","url":"https://api.github.com/users/robin850","html_url":"https://github.com/robin850","followers_url":"https://api.github.com/users/robin850/followers","following_url":"https://api.github.com/users/robin850/following{/other_user}","gists_url":"https://api.github.com/users/robin850/gists{/gist_id}","starred_url":"https://api.github.com/users/robin850/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robin850/subscriptions","organizations_url":"https://api.github.com/users/robin850/orgs","repos_url":"https://api.github.com/users/robin850/repos","events_url":"https://api.github.com/users/robin850/events{/privacy}","received_events_url":"https://api.github.com/users/robin850/received_events","type":"User","site_admin":false},"body":"That's not really important but `mysql80-{client, server}` and `postgresql11-{client, server}` are available on Fresh Ports. Just saying, may be it's not really important to match the latest version here. 🤷‍♂️","created_at":"2018-10-23T18:01:12Z","updated_at":"2018-10-23T18:07:54Z","html_url":"https://github.com/rails/rails/pull/32881#discussion_r227502461","pull_request_url":"https://api.github.com/repos/rails/rails/pulls/32881","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/rails/rails/pulls/comments/227502461"},"html":{"href":"https://github.com/rails/rails/pull/32881#discussion_r227502461"},"pull_request":{"href":"https://api.github.com/repos/rails/rails/pulls/32881"}}},"pull_request":{"url":"https://api.github.com/repos/rails/rails/pulls/32881","id":187686685,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg3Njg2Njg1","html_url":"https://github.com/rails/rails/pull/32881","diff_url":"https://github.com/rails/rails/pull/32881.diff","patch_url":"https://github.com/rails/rails/pull/32881.patch","issue_url":"https://api.github.com/repos/rails/rails/issues/32881","number":32881,"state":"open","locked":false,"title":"Docs: Update Development Dependencies Install","user":{"login":"vfonic","id":67437,"node_id":"MDQ6VXNlcjY3NDM3","avatar_url":"https://avatars0.githubusercontent.com/u/67437?v=4","gravatar_id":"","url":"https://api.github.com/users/vfonic","html_url":"https://github.com/vfonic","followers_url":"https://api.github.com/users/vfonic/followers","following_url":"https://api.github.com/users/vfonic/following{/other_user}","gists_url":"https://api.github.com/users/vfonic/gists{/gist_id}","starred_url":"https://api.github.com/users/vfonic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vfonic/subscriptions","organizations_url":"https://api.github.com/users/vfonic/orgs","repos_url":"https://api.github.com/users/vfonic/repos","events_url":"https://api.github.com/users/vfonic/events{/privacy}","received_events_url":"https://api.github.com/users/vfonic/received_events","type":"User","site_admin":false},"body":"I've been following instructions on how to setup everything for contributing to Rails and I found it difficult to have to scroll through all OSes for each of the services needed to be installed. Instead, I grouped everything by OS and wrote above that which gem requires which additional service. I think this will get developers much faster to the point where they can start contributing.\r\n\r\nSome sections were also huge and, in the middle of the section, start talking about separate tasks (which could be nicely broken into separate section). I broke down those sections into multiple sections. For example: [2.3 Set up and Run the Tests](http://edgeguides.rubyonrails.org/development_dependencies_install.html#set-up-and-run-the-tests) section. \"Install Bundler\" part could be moved to a separate section.\r\n\r\nSome other remarks:\r\n\r\n1. Please check if I wrote everything correctly and if I missed anything, if the nomenclature is correct (engine/service/etc.)\r\n2. What's the convention about prepending CLI commands with `$` or `#` (or `mysql>`, etc.)?\r\nIt's hard to c/p these commands. Especially in the case of creating mysql user:\r\n\r\n```bash\r\n$ mysql -uroot -p\r\n\r\nmysql> CREATE USER 'rails'@'localhost';\r\nmysql> GRANT ALL PRIVILEGES ON activerecord_unittest.* to 'rails'@'localhost';\r\nmysql> GRANT ALL PRIVILEGES ON activerecord_unittest2.* to 'rails'@'localhost';\r\nmysql> GRANT ALL PRIVILEGES ON inexistent_activerecord_unittest.* to 'rails'@'localhost';\r\n```\r\n\r\n3. Should I just mention that macOS users can use `Brewfile`? I don't know what are the uses of some of the packages mentioned in the `Brewfile`.\r\n4. Are there any efforts for redesigning the Guides website? I watched a Keynote talk by Nick Sutterer [Ruby is Dead - RedDotRubyConf 2017](https://youtu.be/4q3sycRJ5bs?t=2024) in which he mentioned how so many open source projects have beautiful websites. Not to say Rails Guides website is ugly, but there are certain parts that could use a little facelifting. (Maybe this is not needed :) )\r\n\r\nFrom git commit message:\r\n* Break down \"Set up and Run the Tests\" section into smaller parts\r\n* Group documentation instructions by OS, not by gem\r\n * Although breakdown by gem allows for easier install of everything for a\r\nparticular gem, breakdown by OS allows for easier install of all services.\r\n * There's still a list of all additional services required for each of the\r\ngems above the instructions for each OS.\r\n* Remove instructions on how to run tests\r\n * Instead, refer the reader to continue reading \"Contributing to Ruby on\r\nRails\", which continues a section about running tests\r\n* Update Bundler version referenced in \"Ruby on Rails Guides Guidelines\"","created_at":"2018-05-13T19:41:53Z","updated_at":"2018-10-23T18:07:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4d40400f03314757d51655f379dbc2397f1446ff","assignee":{"login":"eileencodes","id":1080678,"node_id":"MDQ6VXNlcjEwODA2Nzg=","avatar_url":"https://avatars0.githubusercontent.com/u/1080678?v=4","gravatar_id":"","url":"https://api.github.com/users/eileencodes","html_url":"https://github.com/eileencodes","followers_url":"https://api.github.com/users/eileencodes/followers","following_url":"https://api.github.com/users/eileencodes/following{/other_user}","gists_url":"https://api.github.com/users/eileencodes/gists{/gist_id}","starred_url":"https://api.github.com/users/eileencodes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eileencodes/subscriptions","organizations_url":"https://api.github.com/users/eileencodes/orgs","repos_url":"https://api.github.com/users/eileencodes/repos","events_url":"https://api.github.com/users/eileencodes/events{/privacy}","received_events_url":"https://api.github.com/users/eileencodes/received_events","type":"User","site_admin":true},"assignees":[{"login":"eileencodes","id":1080678,"node_id":"MDQ6VXNlcjEwODA2Nzg=","avatar_url":"https://avatars0.githubusercontent.com/u/1080678?v=4","gravatar_id":"","url":"https://api.github.com/users/eileencodes","html_url":"https://github.com/eileencodes","followers_url":"https://api.github.com/users/eileencodes/followers","following_url":"https://api.github.com/users/eileencodes/following{/other_user}","gists_url":"https://api.github.com/users/eileencodes/gists{/gist_id}","starred_url":"https://api.github.com/users/eileencodes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eileencodes/subscriptions","organizations_url":"https://api.github.com/users/eileencodes/orgs","repos_url":"https://api.github.com/users/eileencodes/repos","events_url":"https://api.github.com/users/eileencodes/events{/privacy}","received_events_url":"https://api.github.com/users/eileencodes/received_events","type":"User","site_admin":true}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":150377,"node_id":"MDU6TGFiZWwxNTAzNzc=","url":"https://api.github.com/repos/rails/rails/labels/docs","name":"docs","color":"02d7e1","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/rails/rails/pulls/32881/commits","review_comments_url":"https://api.github.com/repos/rails/rails/pulls/32881/comments","review_comment_url":"https://api.github.com/repos/rails/rails/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rails/rails/issues/32881/comments","statuses_url":"https://api.github.com/repos/rails/rails/statuses/9ba0e9e432148463bc3641c3bd3dbaa90f0be3ab","head":{"label":"vfonic:update-development-deps-install","ref":"update-development-deps-install","sha":"9ba0e9e432148463bc3641c3bd3dbaa90f0be3ab","user":{"login":"vfonic","id":67437,"node_id":"MDQ6VXNlcjY3NDM3","avatar_url":"https://avatars0.githubusercontent.com/u/67437?v=4","gravatar_id":"","url":"https://api.github.com/users/vfonic","html_url":"https://github.com/vfonic","followers_url":"https://api.github.com/users/vfonic/followers","following_url":"https://api.github.com/users/vfonic/following{/other_user}","gists_url":"https://api.github.com/users/vfonic/gists{/gist_id}","starred_url":"https://api.github.com/users/vfonic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vfonic/subscriptions","organizations_url":"https://api.github.com/users/vfonic/orgs","repos_url":"https://api.github.com/users/vfonic/repos","events_url":"https://api.github.com/users/vfonic/events{/privacy}","received_events_url":"https://api.github.com/users/vfonic/received_events","type":"User","site_admin":false},"repo":{"id":82888943,"node_id":"MDEwOlJlcG9zaXRvcnk4Mjg4ODk0Mw==","name":"rails","full_name":"vfonic/rails","private":false,"owner":{"login":"vfonic","id":67437,"node_id":"MDQ6VXNlcjY3NDM3","avatar_url":"https://avatars0.githubusercontent.com/u/67437?v=4","gravatar_id":"","url":"https://api.github.com/users/vfonic","html_url":"https://github.com/vfonic","followers_url":"https://api.github.com/users/vfonic/followers","following_url":"https://api.github.com/users/vfonic/following{/other_user}","gists_url":"https://api.github.com/users/vfonic/gists{/gist_id}","starred_url":"https://api.github.com/users/vfonic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vfonic/subscriptions","organizations_url":"https://api.github.com/users/vfonic/orgs","repos_url":"https://api.github.com/users/vfonic/repos","events_url":"https://api.github.com/users/vfonic/events{/privacy}","received_events_url":"https://api.github.com/users/vfonic/received_events","type":"User","site_admin":false},"html_url":"https://github.com/vfonic/rails","description":"Ruby on Rails","fork":true,"url":"https://api.github.com/repos/vfonic/rails","forks_url":"https://api.github.com/repos/vfonic/rails/forks","keys_url":"https://api.github.com/repos/vfonic/rails/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vfonic/rails/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vfonic/rails/teams","hooks_url":"https://api.github.com/repos/vfonic/rails/hooks","issue_events_url":"https://api.github.com/repos/vfonic/rails/issues/events{/number}","events_url":"https://api.github.com/repos/vfonic/rails/events","assignees_url":"https://api.github.com/repos/vfonic/rails/assignees{/user}","branches_url":"https://api.github.com/repos/vfonic/rails/branches{/branch}","tags_url":"https://api.github.com/repos/vfonic/rails/tags","blobs_url":"https://api.github.com/repos/vfonic/rails/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vfonic/rails/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vfonic/rails/git/refs{/sha}","trees_url":"https://api.github.com/repos/vfonic/rails/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vfonic/rails/statuses/{sha}","languages_url":"https://api.github.com/repos/vfonic/rails/languages","stargazers_url":"https://api.github.com/repos/vfonic/rails/stargazers","contributors_url":"https://api.github.com/repos/vfonic/rails/contributors","subscribers_url":"https://api.github.com/repos/vfonic/rails/subscribers","subscription_url":"https://api.github.com/repos/vfonic/rails/subscription","commits_url":"https://api.github.com/repos/vfonic/rails/commits{/sha}","git_commits_url":"https://api.github.com/repos/vfonic/rails/git/commits{/sha}","comments_url":"https://api.github.com/repos/vfonic/rails/comments{/number}","issue_comment_url":"https://api.github.com/repos/vfonic/rails/issues/comments{/number}","contents_url":"https://api.github.com/repos/vfonic/rails/contents/{+path}","compare_url":"https://api.github.com/repos/vfonic/rails/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vfonic/rails/merges","archive_url":"https://api.github.com/repos/vfonic/rails/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vfonic/rails/downloads","issues_url":"https://api.github.com/repos/vfonic/rails/issues{/number}","pulls_url":"https://api.github.com/repos/vfonic/rails/pulls{/number}","milestones_url":"https://api.github.com/repos/vfonic/rails/milestones{/number}","notifications_url":"https://api.github.com/repos/vfonic/rails/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vfonic/rails/labels{/name}","releases_url":"https://api.github.com/repos/vfonic/rails/releases{/id}","deployments_url":"https://api.github.com/repos/vfonic/rails/deployments","created_at":"2017-02-23T05:42:17Z","updated_at":"2017-02-23T05:43:08Z","pushed_at":"2018-10-23T13:51:04Z","git_url":"git://github.com/vfonic/rails.git","ssh_url":"git@github.com:vfonic/rails.git","clone_url":"https://github.com/vfonic/rails.git","svn_url":"https://github.com/vfonic/rails","homepage":"http://rubyonrails.org","size":167367,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rails:master","ref":"master","sha":"19280f6653c6798f2824b58d2435f3b0e232810f","user":{"login":"rails","id":4223,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQyMjM=","avatar_url":"https://avatars1.githubusercontent.com/u/4223?v=4","gravatar_id":"","url":"https://api.github.com/users/rails","html_url":"https://github.com/rails","followers_url":"https://api.github.com/users/rails/followers","following_url":"https://api.github.com/users/rails/following{/other_user}","gists_url":"https://api.github.com/users/rails/gists{/gist_id}","starred_url":"https://api.github.com/users/rails/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rails/subscriptions","organizations_url":"https://api.github.com/users/rails/orgs","repos_url":"https://api.github.com/users/rails/repos","events_url":"https://api.github.com/users/rails/events{/privacy}","received_events_url":"https://api.github.com/users/rails/received_events","type":"Organization","site_admin":false},"repo":{"id":8514,"node_id":"MDEwOlJlcG9zaXRvcnk4NTE0","name":"rails","full_name":"rails/rails","private":false,"owner":{"login":"rails","id":4223,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQyMjM=","avatar_url":"https://avatars1.githubusercontent.com/u/4223?v=4","gravatar_id":"","url":"https://api.github.com/users/rails","html_url":"https://github.com/rails","followers_url":"https://api.github.com/users/rails/followers","following_url":"https://api.github.com/users/rails/following{/other_user}","gists_url":"https://api.github.com/users/rails/gists{/gist_id}","starred_url":"https://api.github.com/users/rails/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rails/subscriptions","organizations_url":"https://api.github.com/users/rails/orgs","repos_url":"https://api.github.com/users/rails/repos","events_url":"https://api.github.com/users/rails/events{/privacy}","received_events_url":"https://api.github.com/users/rails/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/rails/rails","description":"Ruby on Rails","fork":false,"url":"https://api.github.com/repos/rails/rails","forks_url":"https://api.github.com/repos/rails/rails/forks","keys_url":"https://api.github.com/repos/rails/rails/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rails/rails/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rails/rails/teams","hooks_url":"https://api.github.com/repos/rails/rails/hooks","issue_events_url":"https://api.github.com/repos/rails/rails/issues/events{/number}","events_url":"https://api.github.com/repos/rails/rails/events","assignees_url":"https://api.github.com/repos/rails/rails/assignees{/user}","branches_url":"https://api.github.com/repos/rails/rails/branches{/branch}","tags_url":"https://api.github.com/repos/rails/rails/tags","blobs_url":"https://api.github.com/repos/rails/rails/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rails/rails/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rails/rails/git/refs{/sha}","trees_url":"https://api.github.com/repos/rails/rails/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rails/rails/statuses/{sha}","languages_url":"https://api.github.com/repos/rails/rails/languages","stargazers_url":"https://api.github.com/repos/rails/rails/stargazers","contributors_url":"https://api.github.com/repos/rails/rails/contributors","subscribers_url":"https://api.github.com/repos/rails/rails/subscribers","subscription_url":"https://api.github.com/repos/rails/rails/subscription","commits_url":"https://api.github.com/repos/rails/rails/commits{/sha}","git_commits_url":"https://api.github.com/repos/rails/rails/git/commits{/sha}","comments_url":"https://api.github.com/repos/rails/rails/comments{/number}","issue_comment_url":"https://api.github.com/repos/rails/rails/issues/comments{/number}","contents_url":"https://api.github.com/repos/rails/rails/contents/{+path}","compare_url":"https://api.github.com/repos/rails/rails/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rails/rails/merges","archive_url":"https://api.github.com/repos/rails/rails/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rails/rails/downloads","issues_url":"https://api.github.com/repos/rails/rails/issues{/number}","pulls_url":"https://api.github.com/repos/rails/rails/pulls{/number}","milestones_url":"https://api.github.com/repos/rails/rails/milestones{/number}","notifications_url":"https://api.github.com/repos/rails/rails/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rails/rails/labels{/name}","releases_url":"https://api.github.com/repos/rails/rails/releases{/id}","deployments_url":"https://api.github.com/repos/rails/rails/deployments","created_at":"2008-04-11T02:19:47Z","updated_at":"2018-10-23T17:35:50Z","pushed_at":"2018-10-23T17:55:49Z","git_url":"git://github.com/rails/rails.git","ssh_url":"git@github.com:rails/rails.git","clone_url":"https://github.com/rails/rails.git","svn_url":"https://github.com/rails/rails","homepage":"https://rubyonrails.org","size":167551,"stargazers_count":41225,"watchers_count":41225,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":16653,"mirror_url":null,"archived":false,"open_issues_count":1043,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":16653,"open_issues":1043,"watchers":41225,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rails/rails/pulls/32881"},"html":{"href":"https://github.com/rails/rails/pull/32881"},"issue":{"href":"https://api.github.com/repos/rails/rails/issues/32881"},"comments":{"href":"https://api.github.com/repos/rails/rails/issues/32881/comments"},"review_comments":{"href":"https://api.github.com/repos/rails/rails/pulls/32881/comments"},"review_comment":{"href":"https://api.github.com/repos/rails/rails/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rails/rails/pulls/32881/commits"},"statuses":{"href":"https://api.github.com/repos/rails/rails/statuses/9ba0e9e432148463bc3641c3bd3dbaa90f0be3ab"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"robin850"}}