rails 4.2.2 → 4.2.3.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/guides/CHANGELOG.md +7 -2
- data/guides/bug_report_templates/generic_gem.rb +15 -0
- data/guides/bug_report_templates/generic_master.rb +26 -0
- data/guides/rails_guides/levenshtein.rb +0 -2
- data/guides/source/4_2_release_notes.md +24 -0
- data/guides/source/action_mailer_basics.md +4 -1
- data/guides/source/action_view_overview.md +2 -53
- data/guides/source/active_record_basics.md +5 -5
- data/guides/source/active_record_querying.md +1 -1
- data/guides/source/active_support_core_extensions.md +0 -47
- data/guides/source/asset_pipeline.md +0 -35
- data/guides/source/association_basics.md +13 -3
- data/guides/source/autoloading_and_reloading_constants.md +2 -1
- data/guides/source/engines.md +10 -10
- data/guides/source/getting_started.md +15 -15
- data/guides/source/i18n.md +1 -1
- data/guides/source/initialization.md +1 -1
- data/guides/source/routing.md +12 -0
- data/guides/source/upgrading_ruby_on_rails.md +16 -0
- metadata +20 -18
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 67a1d4417457879880fd534070b56b3e5dc2598f
         | 
| 4 | 
            +
              data.tar.gz: cc31571df03a85133f4aabea4e00d57edfe1fe7e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ecf9862d9e15221d2d6e1d727214a01f36d9a66188fec3d5ef24195c2a548cdf03c0bdc73196901dff23b375434e9ce729e247c1a4b57e7a49639559f0e73f14
         | 
| 7 | 
            +
              data.tar.gz: 6f84e3d9163e5e70bcad6e45946aff7f665894d1dccb30c18d8302ebf399eccf4efc53cd87c6425f6cdeaf03a6fd0fa5bc1f36185161d6401bbd8e86aa68d3bf
         | 
    
        data/guides/CHANGELOG.md
    CHANGED
    
    | @@ -1,13 +1,18 @@ | |
| 1 | 
            -
            ## Rails 4.2. | 
| 1 | 
            +
            ## Rails 4.2.3 (June 22, 2015) ##
         | 
| 2 2 |  | 
| 3 3 | 
             
            * No Changes *
         | 
| 4 4 |  | 
| 5 5 |  | 
| 6 | 
            -
            ## Rails 4.2. | 
| 6 | 
            +
            ## Rails 4.2.2 (June 16, 2015) ##
         | 
| 7 7 |  | 
| 8 8 | 
             
            * No Changes *
         | 
| 9 9 |  | 
| 10 10 |  | 
| 11 | 
            +
            ## Rails 4.2.1 (March 19, 2015) ##
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            *   No changes.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
             | 
| 11 16 | 
             
            ## Rails 4.2.0 (December 20, 2014) ##
         | 
| 12 17 |  | 
| 13 18 | 
             
            *   New guide about constant autoloading and reloading.
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            # Activate the gems you are reporting the issue against.
         | 
| 2 | 
            +
            gem 'activesupport', '4.2.0'
         | 
| 3 | 
            +
            require 'active_support'
         | 
| 4 | 
            +
            require 'active_support/core_ext/object/blank'
         | 
| 5 | 
            +
            require 'minitest/autorun'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # Ensure backward compatibility with Minitest 4
         | 
| 8 | 
            +
            Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test)
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            class BugTest < Minitest::Test
         | 
| 11 | 
            +
              def test_stuff
         | 
| 12 | 
            +
                assert "zomg".present?
         | 
| 13 | 
            +
                refute "".present?
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            unless File.exist?('Gemfile')
         | 
| 2 | 
            +
              File.write('Gemfile', <<-GEMFILE)
         | 
| 3 | 
            +
                source 'https://rubygems.org'
         | 
| 4 | 
            +
                gem 'rails', github: 'rails/rails'
         | 
| 5 | 
            +
                gem 'arel', github: 'rails/arel'
         | 
| 6 | 
            +
              GEMFILE
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              system 'bundle'
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            require 'bundler'
         | 
| 12 | 
            +
            Bundler.setup(:default)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            require 'active_support'
         | 
| 15 | 
            +
            require 'active_support/core_ext/object/blank'
         | 
| 16 | 
            +
            require 'minitest/autorun'
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            # Ensure backward compatibility with Minitest 4
         | 
| 19 | 
            +
            Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test)
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            class BugTest < Minitest::Test
         | 
| 22 | 
            +
              def test_stuff
         | 
| 23 | 
            +
                assert "zomg".present?
         | 
| 24 | 
            +
                refute "".present?
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
            end
         | 
| @@ -300,6 +300,30 @@ application is using any of these spellings, you will need to update them: | |
| 300 300 | 
             
                assert_select('p', 'AT&T')  # => false
         | 
| 301 301 | 
             
                ```
         | 
| 302 302 |  | 
| 303 | 
            +
            Furthermore substitutions have changed syntax.
         | 
| 304 | 
            +
             | 
| 305 | 
            +
            Now you have to use a `:match` CSS-like selector:
         | 
| 306 | 
            +
             | 
| 307 | 
            +
            ```ruby
         | 
| 308 | 
            +
            assert_select ":match('id', ?)", 'comment_1'
         | 
| 309 | 
            +
            ```
         | 
| 310 | 
            +
             | 
| 311 | 
            +
            Additionally Regexp substitutions look different when the assertion fails.
         | 
| 312 | 
            +
            Notice how `/hello/` here:
         | 
| 313 | 
            +
             | 
| 314 | 
            +
            ```ruby
         | 
| 315 | 
            +
            assert_select(":match('id', ?)", /hello/)
         | 
| 316 | 
            +
            ```
         | 
| 317 | 
            +
             | 
| 318 | 
            +
            becomes `"(?-mix:hello)"`:
         | 
| 319 | 
            +
             | 
| 320 | 
            +
            ```
         | 
| 321 | 
            +
            Expected at least 1 element matching "div:match('id', "(?-mix:hello)")", found 0..
         | 
| 322 | 
            +
            Expected 0 to be >= 1.
         | 
| 323 | 
            +
            ```
         | 
| 324 | 
            +
             | 
| 325 | 
            +
            See the [Rails Dom Testing](https://github.com/rails/rails-dom-testing/tree/8798b9349fb9540ad8cb9a0ce6cb88d1384a210b) documentation for more on `assert_select`.
         | 
| 326 | 
            +
             | 
| 303 327 |  | 
| 304 328 | 
             
            Railties
         | 
| 305 329 | 
             
            --------
         | 
| @@ -507,6 +507,9 @@ url helper. | |
| 507 507 | 
             
            <%= user_url(@user, host: 'example.com') %>
         | 
| 508 508 | 
             
            ```
         | 
| 509 509 |  | 
| 510 | 
            +
            NOTE: non-`GET` links require [jQuery UJS](https://github.com/rails/jquery-ujs)
         | 
| 511 | 
            +
            and won't work in mailer templates. They will result in normal `GET` requests.
         | 
| 512 | 
            +
             | 
| 510 513 | 
             
            ### Sending Multipart Emails
         | 
| 511 514 |  | 
| 512 515 | 
             
            Action Mailer will automatically send multipart emails if you have different
         | 
| @@ -670,7 +673,7 @@ files (environment.rb, production.rb, etc...) | |
| 670 673 | 
             
            | Configuration | Description |
         | 
| 671 674 | 
             
            |---------------|-------------|
         | 
| 672 675 | 
             
            |`logger`|Generates information on the mailing run if available. Can be set to `nil` for no logging. Compatible with both Ruby's own `Logger` and `Log4r` loggers.|
         | 
| 673 | 
            -
            |`smtp_settings`|Allows detailed configuration for `:smtp` delivery method:<ul><li>`:address` - Allows you to use a remote mail server. Just change it from its default `"localhost"` setting.</li><li>`:port` - On the off chance that your mail server doesn't run on port 25, you can change it.</li><li>`:domain` - If you need to specify a HELO domain, you can do it here.</li><li>`:user_name` - If your mail server requires authentication, set the username in this setting.</li><li>`:password` - If your mail server requires authentication, set the password in this setting.</li><li>`:authentication` - If your mail server requires authentication, you need to specify the authentication type here. This is a symbol and one of `:plain | 
| 676 | 
            +
            |`smtp_settings`|Allows detailed configuration for `:smtp` delivery method:<ul><li>`:address` - Allows you to use a remote mail server. Just change it from its default `"localhost"` setting.</li><li>`:port` - On the off chance that your mail server doesn't run on port 25, you can change it.</li><li>`:domain` - If you need to specify a HELO domain, you can do it here.</li><li>`:user_name` - If your mail server requires authentication, set the username in this setting.</li><li>`:password` - If your mail server requires authentication, set the password in this setting.</li><li>`:authentication` - If your mail server requires authentication, you need to specify the authentication type here. This is a symbol and one of `:plain` (will send the password in the clear), `:login` (will send password Base64 encoded) or `:cram_md5` (combines a Challenge/Response mechanism to exchange information and a cryptographic Message Digest 5 algorithm to hash important information)</li><li>`:enable_starttls_auto` - Detects if STARTTLS is enabled in your SMTP server and starts to use it. Defaults to `true`.</li><li>`:openssl_verify_mode` - When using TLS, you can set how OpenSSL checks the certificate. This is really useful if you need to validate a self-signed and/or a wildcard certificate. You can use the name of an OpenSSL verify constant ('none', 'peer', 'client_once', 'fail_if_no_peer_cert') or directly the constant (`OpenSSL::SSL::VERIFY_NONE`, `OpenSSL::SSL::VERIFY_PEER`, ...).</li></ul>|
         | 
| 674 677 | 
             
            |`sendmail_settings`|Allows you to override options for the `:sendmail` delivery method.<ul><li>`:location` - The location of the sendmail executable. Defaults to `/usr/sbin/sendmail`.</li><li>`:arguments` - The command line arguments to be passed to sendmail. Defaults to `-i -t`.</li></ul>|
         | 
| 675 678 | 
             
            |`raise_delivery_errors`|Whether or not errors should be raised if the email fails to be delivered. This only works if the external email server is configured for immediate delivery.|
         | 
| 676 679 | 
             
            |`delivery_method`|Defines a delivery method. Possible values are:<ul><li>`:smtp` (default), can be configured by using `config.action_mailer.smtp_settings`.</li><li>`:sendmail`, can be configured by using `config.action_mailer.sendmail_settings`.</li><li>`:file`: save emails to files; can be configured by using `config.action_mailer.file_settings`.</li><li>`:test`: save emails to `ActionMailer::Base.deliveries` array.</li></ul>See [API docs](http://api.rubyonrails.org/classes/ActionMailer/Base.html) for more info.|
         | 
| @@ -435,39 +435,13 @@ config.action_controller.asset_host = "assets.example.com" | |
| 435 435 | 
             
            image_tag("rails.png") # => <img src="http://assets.example.com/images/rails.png" alt="Rails" />
         | 
| 436 436 | 
             
            ```
         | 
| 437 437 |  | 
| 438 | 
            -
            #### register_javascript_expansion
         | 
| 439 | 
            -
             | 
| 440 | 
            -
            Register one or more JavaScript files to be included when symbol is passed to javascript_include_tag. This method is typically intended to be called from plugin initialization to register JavaScript files that the plugin installed in `vendor/assets/javascripts`.
         | 
| 441 | 
            -
             | 
| 442 | 
            -
            ```ruby
         | 
| 443 | 
            -
            ActionView::Helpers::AssetTagHelper.register_javascript_expansion monkey: ["head", "body", "tail"]
         | 
| 444 | 
            -
             | 
| 445 | 
            -
            javascript_include_tag :monkey # =>
         | 
| 446 | 
            -
              <script src="/assets/head.js"></script>
         | 
| 447 | 
            -
              <script src="/assets/body.js"></script>
         | 
| 448 | 
            -
              <script src="/assets/tail.js"></script>
         | 
| 449 | 
            -
            ```
         | 
| 450 | 
            -
             | 
| 451 | 
            -
            #### register_stylesheet_expansion
         | 
| 452 | 
            -
             | 
| 453 | 
            -
            Register one or more stylesheet files to be included when symbol is passed to `stylesheet_link_tag`. This method is typically intended to be called from plugin initialization to register stylesheet files that the plugin installed in `vendor/assets/stylesheets`.
         | 
| 454 | 
            -
             | 
| 455 | 
            -
            ```ruby
         | 
| 456 | 
            -
            ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion monkey: ["head", "body", "tail"]
         | 
| 457 | 
            -
             | 
| 458 | 
            -
            stylesheet_link_tag :monkey # =>
         | 
| 459 | 
            -
              <link href="/assets/head.css" media="screen" rel="stylesheet" />
         | 
| 460 | 
            -
              <link href="/assets/body.css" media="screen" rel="stylesheet" />
         | 
| 461 | 
            -
              <link href="/assets/tail.css" media="screen" rel="stylesheet" />
         | 
| 462 | 
            -
            ```
         | 
| 463 | 
            -
             | 
| 464 438 | 
             
            #### auto_discovery_link_tag
         | 
| 465 439 |  | 
| 466 440 | 
             
            Returns a link tag that browsers and feed readers can use to auto-detect an RSS or Atom feed.
         | 
| 467 441 |  | 
| 468 442 | 
             
            ```ruby
         | 
| 469 | 
            -
            auto_discovery_link_tag(:rss, "http://www.example.com/feed.rss", {title: "RSS Feed"}) # =>
         | 
| 470 | 
            -
              <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="http://www.example.com/feed" />
         | 
| 443 | 
            +
            auto_discovery_link_tag(:rss, "http://www.example.com/feed.rss", { title: "RSS Feed" }) # =>
         | 
| 444 | 
            +
              <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="http://www.example.com/feed.rss" />
         | 
| 471 445 | 
             
            ```
         | 
| 472 446 |  | 
| 473 447 | 
             
            #### image_path
         | 
| @@ -1420,22 +1394,6 @@ date_field_tag "dob" | |
| 1420 1394 |  | 
| 1421 1395 | 
             
            Provides functionality for working with JavaScript in your views.
         | 
| 1422 1396 |  | 
| 1423 | 
            -
            #### button_to_function
         | 
| 1424 | 
            -
             | 
| 1425 | 
            -
            Returns a button that'll trigger a JavaScript function using the onclick handler. Examples:
         | 
| 1426 | 
            -
             | 
| 1427 | 
            -
            ```ruby
         | 
| 1428 | 
            -
            button_to_function "Greeting", "alert('Hello world!')"
         | 
| 1429 | 
            -
            button_to_function "Delete", "if (confirm('Really?')) do_delete()"
         | 
| 1430 | 
            -
            button_to_function "Details" do |page|
         | 
| 1431 | 
            -
              page[:details].visual_effect :toggle_slide
         | 
| 1432 | 
            -
            end
         | 
| 1433 | 
            -
            ```
         | 
| 1434 | 
            -
             | 
| 1435 | 
            -
            #### define_javascript_functions
         | 
| 1436 | 
            -
             | 
| 1437 | 
            -
            Includes the Action Pack JavaScript libraries inside a single `script` tag.
         | 
| 1438 | 
            -
             | 
| 1439 1397 | 
             
            #### escape_javascript
         | 
| 1440 1398 |  | 
| 1441 1399 | 
             
            Escape carrier returns and single and double quotes for JavaScript segments.
         | 
| @@ -1456,15 +1414,6 @@ alert('All is good') | |
| 1456 1414 | 
             
            </script>
         | 
| 1457 1415 | 
             
            ```
         | 
| 1458 1416 |  | 
| 1459 | 
            -
            #### link_to_function
         | 
| 1460 | 
            -
             | 
| 1461 | 
            -
            Returns a link that will trigger a JavaScript function using the onclick handler and return false after the fact.
         | 
| 1462 | 
            -
             | 
| 1463 | 
            -
            ```ruby
         | 
| 1464 | 
            -
            link_to_function "Greeting", "alert('Hello world!')"
         | 
| 1465 | 
            -
            # => <a onclick="alert('Hello world!'); return false;" href="#">Greeting</a>
         | 
| 1466 | 
            -
            ```
         | 
| 1467 | 
            -
             | 
| 1468 1417 | 
             
            ### NumberHelper
         | 
| 1469 1418 |  | 
| 1470 1419 | 
             
            Provides methods for converting numbers into formatted strings. Methods are provided for phone numbers, currency, percentage, precision, positional notation, and file size.
         | 
| @@ -171,18 +171,18 @@ name that should be used: | |
| 171 171 |  | 
| 172 172 | 
             
            ```ruby
         | 
| 173 173 | 
             
            class Product < ActiveRecord::Base
         | 
| 174 | 
            -
              self.table_name = " | 
| 174 | 
            +
              self.table_name = "my_products"
         | 
| 175 175 | 
             
            end
         | 
| 176 176 | 
             
            ```
         | 
| 177 177 |  | 
| 178 178 | 
             
            If you do so, you will have to define manually the class name that is hosting
         | 
| 179 | 
            -
            the fixtures ( | 
| 179 | 
            +
            the fixtures (my_products.yml) using the `set_fixture_class` method in your test
         | 
| 180 180 | 
             
            definition:
         | 
| 181 181 |  | 
| 182 182 | 
             
            ```ruby
         | 
| 183 | 
            -
            class  | 
| 184 | 
            -
              set_fixture_class  | 
| 185 | 
            -
              fixtures : | 
| 183 | 
            +
            class ProductTest < ActiveSupport::TestCase
         | 
| 184 | 
            +
              set_fixture_class my_products: Product
         | 
| 185 | 
            +
              fixtures :my_products
         | 
| 186 186 | 
             
              ...
         | 
| 187 187 | 
             
            end
         | 
| 188 188 | 
             
            ```
         | 
| @@ -3043,53 +3043,6 @@ The method `Range#overlaps?` says whether any two given ranges have non-void int | |
| 3043 3043 |  | 
| 3044 3044 | 
             
            NOTE: Defined in `active_support/core_ext/range/overlaps.rb`.
         | 
| 3045 3045 |  | 
| 3046 | 
            -
            Extensions to `Proc`
         | 
| 3047 | 
            -
            --------------------
         | 
| 3048 | 
            -
             | 
| 3049 | 
            -
            ### `bind`
         | 
| 3050 | 
            -
             | 
| 3051 | 
            -
            As you surely know Ruby has an `UnboundMethod` class whose instances are methods that belong to the limbo of methods without a self. The method `Module#instance_method` returns an unbound method for example:
         | 
| 3052 | 
            -
             | 
| 3053 | 
            -
            ```ruby
         | 
| 3054 | 
            -
            Hash.instance_method(:delete) # => #<UnboundMethod: Hash#delete>
         | 
| 3055 | 
            -
            ```
         | 
| 3056 | 
            -
             | 
| 3057 | 
            -
            An unbound method is not callable as is, you need to bind it first to an object with `bind`:
         | 
| 3058 | 
            -
             | 
| 3059 | 
            -
            ```ruby
         | 
| 3060 | 
            -
            clear = Hash.instance_method(:clear)
         | 
| 3061 | 
            -
            clear.bind({a: 1}).call # => {}
         | 
| 3062 | 
            -
            ```
         | 
| 3063 | 
            -
             | 
| 3064 | 
            -
            Active Support defines `Proc#bind` with an analogous purpose:
         | 
| 3065 | 
            -
             | 
| 3066 | 
            -
            ```ruby
         | 
| 3067 | 
            -
            Proc.new { size }.bind([]).call # => 0
         | 
| 3068 | 
            -
            ```
         | 
| 3069 | 
            -
             | 
| 3070 | 
            -
            As you see that's callable and bound to the argument, the return value is indeed a `Method`.
         | 
| 3071 | 
            -
             | 
| 3072 | 
            -
            NOTE: To do so `Proc#bind` actually creates a method under the hood. If you ever see a method with a weird name like `__bind_1256598120_237302` in a stack trace you know now where it comes from.
         | 
| 3073 | 
            -
             | 
| 3074 | 
            -
            Action Pack uses this trick in `rescue_from` for example, which accepts the name of a method and also a proc as callbacks for a given rescued exception. It has to call them in either case, so a bound method is returned by `handler_for_rescue`, thus simplifying the code in the caller:
         | 
| 3075 | 
            -
             | 
| 3076 | 
            -
            ```ruby
         | 
| 3077 | 
            -
            def handler_for_rescue(exception)
         | 
| 3078 | 
            -
              _, rescuer = Array(rescue_handlers).reverse.detect do |klass_name, handler|
         | 
| 3079 | 
            -
                ...
         | 
| 3080 | 
            -
              end
         | 
| 3081 | 
            -
             | 
| 3082 | 
            -
              case rescuer
         | 
| 3083 | 
            -
              when Symbol
         | 
| 3084 | 
            -
                method(rescuer)
         | 
| 3085 | 
            -
              when Proc
         | 
| 3086 | 
            -
                rescuer.bind(self)
         | 
| 3087 | 
            -
              end
         | 
| 3088 | 
            -
            end
         | 
| 3089 | 
            -
            ```
         | 
| 3090 | 
            -
             | 
| 3091 | 
            -
            NOTE: Defined in `active_support/core_ext/proc.rb`.
         | 
| 3092 | 
            -
             | 
| 3093 3046 | 
             
            Extensions to `Date`
         | 
| 3094 3047 | 
             
            --------------------
         | 
| 3095 3048 |  | 
| @@ -789,41 +789,6 @@ location ~ ^/assets/ { | |
| 789 789 | 
             
            }
         | 
| 790 790 | 
             
            ```
         | 
| 791 791 |  | 
| 792 | 
            -
            #### GZip Compression
         | 
| 793 | 
            -
             | 
| 794 | 
            -
            When files are precompiled, Sprockets also creates a
         | 
| 795 | 
            -
            [gzipped](http://en.wikipedia.org/wiki/Gzip) (.gz) version of your assets. Web
         | 
| 796 | 
            -
            servers are typically configured to use a moderate compression ratio as a
         | 
| 797 | 
            -
            compromise, but since precompilation happens once, Sprockets uses the maximum
         | 
| 798 | 
            -
            compression ratio, thus reducing the size of the data transfer to the minimum.
         | 
| 799 | 
            -
            On the other hand, web servers can be configured to serve compressed content
         | 
| 800 | 
            -
            directly from disk, rather than deflating non-compressed files themselves.
         | 
| 801 | 
            -
             | 
| 802 | 
            -
            NGINX is able to do this automatically enabling `gzip_static`:
         | 
| 803 | 
            -
             | 
| 804 | 
            -
            ```nginx
         | 
| 805 | 
            -
            location ~ ^/(assets)/  {
         | 
| 806 | 
            -
              root /path/to/public;
         | 
| 807 | 
            -
              gzip_static on; # to serve pre-gzipped version
         | 
| 808 | 
            -
              expires max;
         | 
| 809 | 
            -
              add_header Cache-Control public;
         | 
| 810 | 
            -
            }
         | 
| 811 | 
            -
            ```
         | 
| 812 | 
            -
             | 
| 813 | 
            -
            This directive is available if the core module that provides this feature was
         | 
| 814 | 
            -
            compiled with the web server. Ubuntu/Debian packages, even `nginx-light`, have
         | 
| 815 | 
            -
            the module compiled. Otherwise, you may need to perform a manual compilation:
         | 
| 816 | 
            -
             | 
| 817 | 
            -
            ```bash
         | 
| 818 | 
            -
            ./configure --with-http_gzip_static_module
         | 
| 819 | 
            -
            ```
         | 
| 820 | 
            -
             | 
| 821 | 
            -
            If you're compiling NGINX with Phusion Passenger you'll need to pass that option
         | 
| 822 | 
            -
            when prompted.
         | 
| 823 | 
            -
             | 
| 824 | 
            -
            A robust configuration for Apache is possible but tricky; please Google around.
         | 
| 825 | 
            -
            (Or help update this Guide if you have a good configuration example for Apache.)
         | 
| 826 | 
            -
             | 
| 827 792 | 
             
            ### Local Precompilation
         | 
| 828 793 |  | 
| 829 794 | 
             
            There are several reasons why you might want to precompile your assets locally.
         | 
| @@ -1417,7 +1417,13 @@ The `collection_singular_ids=` method makes the collection contain only the obje | |
| 1417 1417 |  | 
| 1418 1418 | 
             
            ##### `collection.clear`
         | 
| 1419 1419 |  | 
| 1420 | 
            -
            The `collection.clear` method removes  | 
| 1420 | 
            +
            The `collection.clear` method removes all objects from the collection according to the strategy specified by the `dependent` option. If no option is given, it follows the default strategy. The default strategy for `has_many :through` associations is `delete_all`, and for `has_many` associations is to set the foreign keys to `NULL`.
         | 
| 1421 | 
            +
             | 
| 1422 | 
            +
            ```ruby
         | 
| 1423 | 
            +
            @customer.orders.clear
         | 
| 1424 | 
            +
            ```
         | 
| 1425 | 
            +
             | 
| 1426 | 
            +
            WARNING: Objects will be delete if they're associated with `dependent: :destroy`, just like `dependent: :delete_all`.
         | 
| 1421 1427 |  | 
| 1422 1428 | 
             
            ##### `collection.empty?`
         | 
| 1423 1429 |  | 
| @@ -1456,7 +1462,9 @@ The `collection.where` method finds objects within the collection based on the c | |
| 1456 1462 |  | 
| 1457 1463 | 
             
            ##### `collection.exists?(...)`
         | 
| 1458 1464 |  | 
| 1459 | 
            -
            The `collection.exists?` method checks whether an object meeting the supplied  | 
| 1465 | 
            +
            The `collection.exists?` method checks whether an object meeting the supplied 
         | 
| 1466 | 
            +
            conditions exists in the collection. It uses the same syntax and options as
         | 
| 1467 | 
            +
            [`ActiveRecord::Base.exists?`](http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-exists-3F).
         | 
| 1460 1468 |  | 
| 1461 1469 | 
             
            ##### `collection.build(attributes = {}, ...)`
         | 
| 1462 1470 |  | 
| @@ -1949,7 +1957,9 @@ The `collection.where` method finds objects within the collection based on the c | |
| 1949 1957 |  | 
| 1950 1958 | 
             
            ##### `collection.exists?(...)`
         | 
| 1951 1959 |  | 
| 1952 | 
            -
            The `collection.exists?` method checks whether an object meeting the supplied | 
| 1960 | 
            +
            The `collection.exists?` method checks whether an object meeting the supplied
         | 
| 1961 | 
            +
            conditions exists in the collection. It uses the same syntax and options as
         | 
| 1962 | 
            +
            [`ActiveRecord::Base.exists?`](http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-exists-3F).
         | 
| 1953 1963 |  | 
| 1954 1964 | 
             
            ##### `collection.build(attributes = {})`
         | 
| 1955 1965 |  | 
| @@ -461,8 +461,9 @@ Also, this collection is configurable via `config.autoload_paths`. For example, | |
| 461 461 | 
             
            by adding this to `config/application.rb`:
         | 
| 462 462 |  | 
| 463 463 | 
             
            ```ruby
         | 
| 464 | 
            -
            config.autoload_paths  | 
| 464 | 
            +
            config.autoload_paths << "#{Rails.root}/lib"
         | 
| 465 465 | 
             
            ```
         | 
| 466 | 
            +
            `config.autoload_paths` is accessible from environment-specific configuration files, but any changes made to it outside `config/application.rb` don't have an effect.
         | 
| 466 467 |  | 
| 467 468 | 
             
            The value of `autoload_paths` can be inspected. In a just generated application
         | 
| 468 469 | 
             
            it is (edited):
         | 
    
        data/guides/source/engines.md
    CHANGED
    
    | @@ -589,7 +589,7 @@ the comments, however, is not quite right yet. If you were to create a comment | |
| 589 589 | 
             
            right now, you would see this error:
         | 
| 590 590 |  | 
| 591 591 | 
             
            ```
         | 
| 592 | 
            -
            Missing partial blorgh/comments/ | 
| 592 | 
            +
            Missing partial blorgh/comments/_comment with {:handlers=>[:erb, :builder],
         | 
| 593 593 | 
             
            :formats=>[:html], :locale=>[:en, :en]}. Searched in:   *
         | 
| 594 594 | 
             
            "/Users/ryan/Sites/side_projects/blorgh/test/dummy/app/views"   *
         | 
| 595 595 | 
             
            "/Users/ryan/Sites/side_projects/blorgh/app/views"
         | 
| @@ -598,7 +598,7 @@ Missing partial blorgh/comments/comment with {:handlers=>[:erb, :builder], | |
| 598 598 | 
             
            The engine is unable to find the partial required for rendering the comments.
         | 
| 599 599 | 
             
            Rails looks first in the application's (`test/dummy`) `app/views` directory and
         | 
| 600 600 | 
             
            then in the engine's `app/views` directory. When it can't find it, it will throw
         | 
| 601 | 
            -
            this error. The engine knows to look for `blorgh/comments/ | 
| 601 | 
            +
            this error. The engine knows to look for `blorgh/comments/_comment` because the
         | 
| 602 602 | 
             
            model object it is receiving is from the `Blorgh::Comment` class.
         | 
| 603 603 |  | 
| 604 604 | 
             
            This partial will be responsible for rendering just the comment text, for now.
         | 
| @@ -696,8 +696,8 @@ haven't been copied over already. The first run for this command will output | |
| 696 696 | 
             
            something such as this:
         | 
| 697 697 |  | 
| 698 698 | 
             
            ```bash
         | 
| 699 | 
            -
            Copied migration [timestamp_1]_create_blorgh_articles.rb from blorgh
         | 
| 700 | 
            -
            Copied migration [timestamp_2]_create_blorgh_comments.rb from blorgh
         | 
| 699 | 
            +
            Copied migration [timestamp_1]_create_blorgh_articles.blorgh.rb from blorgh
         | 
| 700 | 
            +
            Copied migration [timestamp_2]_create_blorgh_comments.blorgh.rb from blorgh
         | 
| 701 701 | 
             
            ```
         | 
| 702 702 |  | 
| 703 703 | 
             
            The first timestamp (`[timestamp_1]`) will be the current time, and the second
         | 
| @@ -829,11 +829,9 @@ Notice that only _one_ migration was copied over here. This is because the first | |
| 829 829 | 
             
            two migrations were copied over the first time this command was run.
         | 
| 830 830 |  | 
| 831 831 | 
             
            ```
         | 
| 832 | 
            -
            NOTE Migration [timestamp]_create_blorgh_articles.rb from blorgh has been
         | 
| 833 | 
            -
            skipped. Migration with the same name already exists. | 
| 834 | 
            -
            [timestamp] | 
| 835 | 
            -
            with the same name already exists. Copied migration
         | 
| 836 | 
            -
            [timestamp]_add_author_id_to_blorgh_articles.rb from blorgh
         | 
| 832 | 
            +
            NOTE Migration [timestamp]_create_blorgh_articles.blorgh.rb from blorgh has been skipped. Migration with the same name already exists.
         | 
| 833 | 
            +
            NOTE Migration [timestamp]_create_blorgh_comments.blorgh.rb from blorgh has been skipped. Migration with the same name already exists.
         | 
| 834 | 
            +
            Copied migration [timestamp]_add_author_id_to_blorgh_articles.blorgh.rb from blorgh
         | 
| 837 835 | 
             
            ```
         | 
| 838 836 |  | 
| 839 837 | 
             
            Run the migration using:
         | 
| @@ -888,7 +886,9 @@ engine this would be done by changing | |
| 888 886 | 
             
            `app/controllers/blorgh/application_controller.rb` to look like:
         | 
| 889 887 |  | 
| 890 888 | 
             
            ```ruby
         | 
| 891 | 
            -
             | 
| 889 | 
            +
            module Blorgh
         | 
| 890 | 
            +
              class ApplicationController < ::ApplicationController
         | 
| 891 | 
            +
              end
         | 
| 892 892 | 
             
            end
         | 
| 893 893 | 
             
            ```
         | 
| 894 894 |  | 
| @@ -123,7 +123,7 @@ run the following: | |
| 123 123 | 
             
            $ rails --version
         | 
| 124 124 | 
             
            ```
         | 
| 125 125 |  | 
| 126 | 
            -
            If it says something like "Rails 4.2. | 
| 126 | 
            +
            If it says something like "Rails 4.2.1", you are ready to continue.
         | 
| 127 127 |  | 
| 128 128 | 
             
            ### Creating the Blog Application
         | 
| 129 129 |  | 
| @@ -318,9 +318,9 @@ root 'welcome#index' | |
| 318 318 | 
             
            application to the welcome controller's index action and `get 'welcome/index'`
         | 
| 319 319 | 
             
            tells Rails to map requests to <http://localhost:3000/welcome/index> to the
         | 
| 320 320 | 
             
            welcome controller's index action. This was created earlier when you ran the
         | 
| 321 | 
            -
            controller generator (`rails generate controller welcome index`).
         | 
| 321 | 
            +
            controller generator (`bin/rails generate controller welcome index`).
         | 
| 322 322 |  | 
| 323 | 
            -
            Launch the web server again if you stopped it to generate the controller (`rails
         | 
| 323 | 
            +
            Launch the web server again if you stopped it to generate the controller (`bin/rails
         | 
| 324 324 | 
             
            server`) and navigate to <http://localhost:3000> in your browser. You'll see the
         | 
| 325 325 | 
             
            "Hello, Rails!" message you put into `app/views/welcome/index.html.erb`,
         | 
| 326 326 | 
             
            indicating that this new route is indeed going to `WelcomeController`'s `index`
         | 
| @@ -353,7 +353,7 @@ Rails.application.routes.draw do | |
| 353 353 | 
             
            end
         | 
| 354 354 | 
             
            ```
         | 
| 355 355 |  | 
| 356 | 
            -
            If you run `rake routes`, you'll see that it has defined routes for all the
         | 
| 356 | 
            +
            If you run `bin/rake routes`, you'll see that it has defined routes for all the
         | 
| 357 357 | 
             
            standard RESTful actions.  The meaning of the prefix column (and other columns)
         | 
| 358 358 | 
             
            will be seen later, but for now notice that Rails has inferred the
         | 
| 359 359 | 
             
            singular form `article` and makes meaningful use of the distinction.
         | 
| @@ -397,7 +397,7 @@ a controller called `ArticlesController`. You can do this by running this | |
| 397 397 | 
             
            command:
         | 
| 398 398 |  | 
| 399 399 | 
             
            ```bash
         | 
| 400 | 
            -
            $ bin/rails  | 
| 400 | 
            +
            $ bin/rails generate controller articles
         | 
| 401 401 | 
             
            ```
         | 
| 402 402 |  | 
| 403 403 | 
             
            If you open up the newly generated `app/controllers/articles_controller.rb`
         | 
| @@ -551,7 +551,7 @@ this: | |
| 551 551 |  | 
| 552 552 | 
             
            In this example, the `articles_path` helper is passed to the `:url` option.
         | 
| 553 553 | 
             
            To see what Rails will do with this, we look back at the output of
         | 
| 554 | 
            -
            `rake routes`:
         | 
| 554 | 
            +
            `bin/rake routes`:
         | 
| 555 555 |  | 
| 556 556 | 
             
            ```bash
         | 
| 557 557 | 
             
            $ bin/rake routes
         | 
| @@ -661,7 +661,7 @@ models, as that will be done automatically by Active Record. | |
| 661 661 |  | 
| 662 662 | 
             
            ### Running a Migration
         | 
| 663 663 |  | 
| 664 | 
            -
            As we've just seen, `rails generate model` created a _database migration_ file
         | 
| 664 | 
            +
            As we've just seen, `bin/rails generate model` created a _database migration_ file
         | 
| 665 665 | 
             
            inside the `db/migrate` directory. Migrations are Ruby classes that are
         | 
| 666 666 | 
             
            designed to make it simple to create and modify database tables. Rails uses
         | 
| 667 667 | 
             
            rake commands to run migrations, and it's possible to undo a migration after
         | 
| @@ -714,7 +714,7 @@ NOTE. Because you're working in the development environment by default, this | |
| 714 714 | 
             
            command will apply to the database defined in the `development` section of your
         | 
| 715 715 | 
             
            `config/database.yml` file. If you would like to execute migrations in another
         | 
| 716 716 | 
             
            environment, for instance in production, you must explicitly pass it when
         | 
| 717 | 
            -
            invoking the command: `rake db:migrate RAILS_ENV=production`.
         | 
| 717 | 
            +
            invoking the command: `bin/rake db:migrate RAILS_ENV=production`.
         | 
| 718 718 |  | 
| 719 719 | 
             
            ### Saving data in the controller
         | 
| 720 720 |  | 
| @@ -801,7 +801,7 @@ If you submit the form again now, Rails will complain about not finding the | |
| 801 801 | 
             
            `show` action. That's not very useful though, so let's add the `show` action
         | 
| 802 802 | 
             
            before proceeding.
         | 
| 803 803 |  | 
| 804 | 
            -
            As we have seen in the output of `rake routes`, the route for `show` action is
         | 
| 804 | 
            +
            As we have seen in the output of `bin/rake routes`, the route for `show` action is
         | 
| 805 805 | 
             
            as follows:
         | 
| 806 806 |  | 
| 807 807 | 
             
            ```
         | 
| @@ -831,7 +831,7 @@ class ArticlesController < ApplicationController | |
| 831 831 | 
             
              def new
         | 
| 832 832 | 
             
              end
         | 
| 833 833 |  | 
| 834 | 
            -
              #  | 
| 834 | 
            +
              # snippet for brevity
         | 
| 835 835 | 
             
            ```
         | 
| 836 836 |  | 
| 837 837 | 
             
            A couple of things to note. We use `Article.find` to find the article we're
         | 
| @@ -863,7 +863,7 @@ Visit <http://localhost:3000/articles/new> and give it a try! | |
| 863 863 | 
             
            ### Listing all articles
         | 
| 864 864 |  | 
| 865 865 | 
             
            We still need a way to list all our articles, so let's do that.
         | 
| 866 | 
            -
            The route for this as per output of `rake routes` is:
         | 
| 866 | 
            +
            The route for this as per output of `bin/rake routes` is:
         | 
| 867 867 |  | 
| 868 868 | 
             
            ```
         | 
| 869 869 | 
             
            articles GET    /articles(.:format)          articles#index
         | 
| @@ -887,7 +887,7 @@ class ArticlesController < ApplicationController | |
| 887 887 | 
             
              def new
         | 
| 888 888 | 
             
              end
         | 
| 889 889 |  | 
| 890 | 
            -
              #  | 
| 890 | 
            +
              # snippet for brevity
         | 
| 891 891 | 
             
            ```
         | 
| 892 892 |  | 
| 893 893 | 
             
            And then finally, add the view for this action, located at
         | 
| @@ -1357,7 +1357,7 @@ Then do the same for the `app/views/articles/edit.html.erb` view: | |
| 1357 1357 |  | 
| 1358 1358 | 
             
            We're now ready to cover the "D" part of CRUD, deleting articles from the
         | 
| 1359 1359 | 
             
            database. Following the REST convention, the route for
         | 
| 1360 | 
            -
            deleting articles as per output of `rake routes` is:
         | 
| 1360 | 
            +
            deleting articles as per output of `bin/rake routes` is:
         | 
| 1361 1361 |  | 
| 1362 1362 | 
             
            ```ruby
         | 
| 1363 1363 | 
             
            DELETE /articles/:id(.:format)      articles#destroy
         | 
| @@ -1993,7 +1993,7 @@ class ArticlesController < ApplicationController | |
| 1993 1993 | 
             
                @articles = Article.all
         | 
| 1994 1994 | 
             
              end
         | 
| 1995 1995 |  | 
| 1996 | 
            -
              #  | 
| 1996 | 
            +
              # snippet for brevity
         | 
| 1997 1997 | 
             
            ```
         | 
| 1998 1998 |  | 
| 1999 1999 | 
             
            We also want to allow only authenticated users to delete comments, so in the
         | 
| @@ -2009,7 +2009,7 @@ class CommentsController < ApplicationController | |
| 2009 2009 | 
             
                # ...
         | 
| 2010 2010 | 
             
              end
         | 
| 2011 2011 |  | 
| 2012 | 
            -
              #  | 
| 2012 | 
            +
              # snippet for brevity
         | 
| 2013 2013 | 
             
            ```
         | 
| 2014 2014 |  | 
| 2015 2015 | 
             
            Now if you try to create a new article, you will be greeted with a basic HTTP
         | 
    
        data/guides/source/i18n.md
    CHANGED
    
    | @@ -685,7 +685,7 @@ you can safely pass the username as set by the user: | |
| 685 685 |  | 
| 686 686 | 
             
            ```erb
         | 
| 687 687 | 
             
            <%# This is safe, it is going to be escaped if needed. %>
         | 
| 688 | 
            -
            <%= t('welcome_html', username: @current_user.username %>
         | 
| 688 | 
            +
            <%= t('welcome_html', username: @current_user.username) %>
         | 
| 689 689 | 
             
            ```
         | 
| 690 690 |  | 
| 691 691 | 
             
            Safe strings on the other hand are interpolated verbatim.
         | 
| @@ -161,7 +161,7 @@ throwing an error message. If the command is valid, a method of the same name | |
| 161 161 | 
             
            is called.
         | 
| 162 162 |  | 
| 163 163 | 
             
            ```ruby
         | 
| 164 | 
            -
            COMMAND_WHITELIST = %(plugin generate destroy console server dbconsole application runner new version help)
         | 
| 164 | 
            +
            COMMAND_WHITELIST = %w(plugin generate destroy console server dbconsole application runner new version help)
         | 
| 165 165 |  | 
| 166 166 | 
             
            def run_command!(command)
         | 
| 167 167 | 
             
              command = parse_command(command)
         | 
    
        data/guides/source/routing.md
    CHANGED
    
    | @@ -805,6 +805,18 @@ As long as `Sprockets` responds to `call` and returns a `[status, headers, body] | |
| 805 805 |  | 
| 806 806 | 
             
            NOTE: For the curious, `'articles#index'` actually expands out to `ArticlesController.action(:index)`, which returns a valid Rack application.
         | 
| 807 807 |  | 
| 808 | 
            +
            If you specify a rack application as the endpoint for a matcher remember that the route will be unchanged in the receiving application. With the following route your rack application should expect the route to be '/admin':
         | 
| 809 | 
            +
             | 
| 810 | 
            +
            ```ruby
         | 
| 811 | 
            +
            match '/admin', to: AdminApp, via: :all
         | 
| 812 | 
            +
            ```
         | 
| 813 | 
            +
             | 
| 814 | 
            +
            If you would prefer to have your rack application receive requests at the root path instead use mount:
         | 
| 815 | 
            +
             | 
| 816 | 
            +
            ```ruby
         | 
| 817 | 
            +
            mount AdminApp, at: '/admin'
         | 
| 818 | 
            +
            ```
         | 
| 819 | 
            +
             | 
| 808 820 | 
             
            ### Using `root`
         | 
| 809 821 |  | 
| 810 822 | 
             
            You can specify what Rails should route `'/'` to with the `root` method:
         | 
| @@ -838,6 +838,20 @@ this gem such as `whitelist_attributes` or `mass_assignment_sanitizer` options. | |
| 838 838 |  | 
| 839 839 | 
             
            * To re-enable the old finders, you can use the [activerecord-deprecated_finders gem](https://github.com/rails/activerecord-deprecated_finders).
         | 
| 840 840 |  | 
| 841 | 
            +
            * Rails 4.0 has changed to default join table for `has_and_belongs_to_many` relations to strip the common prefix off the second table name. Any existing `has_and_belongs_to_many` relationship between models with a common prefix must be specified with the `join_table` option. For example:
         | 
| 842 | 
            +
             | 
| 843 | 
            +
            ```ruby
         | 
| 844 | 
            +
            CatalogCategory < ActiveRecord::Base
         | 
| 845 | 
            +
              has_and_belongs_to_many :catalog_products, join_table: 'catalog_categories_catalog_products'
         | 
| 846 | 
            +
            end
         | 
| 847 | 
            +
             | 
| 848 | 
            +
            CatalogProduct < ActiveRecord::Base
         | 
| 849 | 
            +
              has_and_belongs_to_many :catalog_categories, join_table: 'catalog_categories_catalog_products'
         | 
| 850 | 
            +
            end
         | 
| 851 | 
            +
            ```
         | 
| 852 | 
            +
             | 
| 853 | 
            +
            * Note that the the prefix takes scopes into account as well, so relations between `Catalog::Category` and `Catalog::Product` or `Catalog::Category` and `CatalogProduct` need to be updated similarly.
         | 
| 854 | 
            +
             | 
| 841 855 | 
             
            ### Active Resource
         | 
| 842 856 |  | 
| 843 857 | 
             
            Rails 4.0 extracted Active Resource to its own gem. If you still need the feature you can add the [Active Resource gem](https://github.com/rails/activeresource) in your Gemfile.
         | 
| @@ -881,6 +895,8 @@ Please read [Pull Request #9978](https://github.com/rails/rails/pull/9978) for d | |
| 881 895 |  | 
| 882 896 | 
             
            * Rails 4.0 has removed the XML parameters parser. You will need to add the `actionpack-xml_parser` gem if you require this feature.
         | 
| 883 897 |  | 
| 898 | 
            +
            * Rails 4.0 changes the default `layout` lookup set using symbols or procs that return nil. To get the "no layout" behavior, return false instead of nil. 
         | 
| 899 | 
            +
             | 
| 884 900 | 
             
            * Rails 4.0 changes the default memcached client from `memcache-client` to `dalli`. To upgrade, simply add `gem 'dalli'` to your `Gemfile`.
         | 
| 885 901 |  | 
| 886 902 | 
             
            * Rails 4.0 deprecates the `dom_id` and `dom_class` methods in controllers (they are fine in views). You will need to include the `ActionView::RecordIdentifier` module in controllers requiring this feature.
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rails
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.2. | 
| 4 | 
            +
              version: 4.2.3.rc1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Heinemeier Hansson
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-06- | 
| 11 | 
            +
            date: 2015-06-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -16,112 +16,112 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - '='
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 4.2. | 
| 19 | 
            +
                    version: 4.2.3.rc1
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - '='
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 4.2. | 
| 26 | 
            +
                    version: 4.2.3.rc1
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: actionpack
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - '='
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: 4.2. | 
| 33 | 
            +
                    version: 4.2.3.rc1
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - '='
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: 4.2. | 
| 40 | 
            +
                    version: 4.2.3.rc1
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: actionview
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - '='
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: 4.2. | 
| 47 | 
            +
                    version: 4.2.3.rc1
         | 
| 48 48 | 
             
              type: :runtime
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - '='
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 4.2. | 
| 54 | 
            +
                    version: 4.2.3.rc1
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: activemodel
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 59 | 
             
                - - '='
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: 4.2. | 
| 61 | 
            +
                    version: 4.2.3.rc1
         | 
| 62 62 | 
             
              type: :runtime
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 66 | 
             
                - - '='
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: 4.2. | 
| 68 | 
            +
                    version: 4.2.3.rc1
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: activerecord
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 73 | 
             
                - - '='
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: 4.2. | 
| 75 | 
            +
                    version: 4.2.3.rc1
         | 
| 76 76 | 
             
              type: :runtime
         | 
| 77 77 | 
             
              prerelease: false
         | 
| 78 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 80 | 
             
                - - '='
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: 4.2. | 
| 82 | 
            +
                    version: 4.2.3.rc1
         | 
| 83 83 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 84 84 | 
             
              name: actionmailer
         | 
| 85 85 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 86 | 
             
                requirements:
         | 
| 87 87 | 
             
                - - '='
         | 
| 88 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: 4.2. | 
| 89 | 
            +
                    version: 4.2.3.rc1
         | 
| 90 90 | 
             
              type: :runtime
         | 
| 91 91 | 
             
              prerelease: false
         | 
| 92 92 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 93 | 
             
                requirements:
         | 
| 94 94 | 
             
                - - '='
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            -
                    version: 4.2. | 
| 96 | 
            +
                    version: 4.2.3.rc1
         | 
| 97 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 98 | 
             
              name: activejob
         | 
| 99 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 100 | 
             
                requirements:
         | 
| 101 101 | 
             
                - - '='
         | 
| 102 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                    version: 4.2. | 
| 103 | 
            +
                    version: 4.2.3.rc1
         | 
| 104 104 | 
             
              type: :runtime
         | 
| 105 105 | 
             
              prerelease: false
         | 
| 106 106 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 107 | 
             
                requirements:
         | 
| 108 108 | 
             
                - - '='
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            -
                    version: 4.2. | 
| 110 | 
            +
                    version: 4.2.3.rc1
         | 
| 111 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 112 | 
             
              name: railties
         | 
| 113 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 114 | 
             
                requirements:
         | 
| 115 115 | 
             
                - - '='
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: 4.2. | 
| 117 | 
            +
                    version: 4.2.3.rc1
         | 
| 118 118 | 
             
              type: :runtime
         | 
| 119 119 | 
             
              prerelease: false
         | 
| 120 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
                requirements:
         | 
| 122 122 | 
             
                - - '='
         | 
| 123 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            -
                    version: 4.2. | 
| 124 | 
            +
                    version: 4.2.3.rc1
         | 
| 125 125 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 126 126 | 
             
              name: bundler
         | 
| 127 127 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -308,6 +308,8 @@ files: | |
| 308 308 | 
             
            - guides/bug_report_templates/action_controller_master.rb
         | 
| 309 309 | 
             
            - guides/bug_report_templates/active_record_gem.rb
         | 
| 310 310 | 
             
            - guides/bug_report_templates/active_record_master.rb
         | 
| 311 | 
            +
            - guides/bug_report_templates/generic_gem.rb
         | 
| 312 | 
            +
            - guides/bug_report_templates/generic_master.rb
         | 
| 311 313 | 
             
            - guides/rails_guides.rb
         | 
| 312 314 | 
             
            - guides/rails_guides/generator.rb
         | 
| 313 315 | 
             
            - guides/rails_guides/helpers.rb
         |