rails 4.1.16 → 4.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/guides/CHANGELOG.md +13 -102
  4. data/guides/Rakefile +2 -2
  5. data/guides/assets/javascripts/guides.js +6 -0
  6. data/guides/assets/stylesheets/main.css +4 -1
  7. data/guides/bug_report_templates/action_controller_gem.rb +2 -2
  8. data/guides/bug_report_templates/action_controller_master.rb +5 -2
  9. data/guides/bug_report_templates/active_record_master.rb +2 -0
  10. data/guides/rails_guides.rb +2 -2
  11. data/guides/rails_guides/helpers.rb +1 -1
  12. data/guides/rails_guides/levenshtein.rb +29 -21
  13. data/guides/rails_guides/markdown.rb +6 -7
  14. data/guides/rails_guides/markdown/renderer.rb +1 -1
  15. data/guides/source/2_3_release_notes.md +3 -3
  16. data/guides/source/3_0_release_notes.md +4 -4
  17. data/guides/source/3_1_release_notes.md +2 -2
  18. data/guides/source/3_2_release_notes.md +2 -2
  19. data/guides/source/4_1_release_notes.md +8 -9
  20. data/guides/source/4_2_release_notes.md +572 -0
  21. data/guides/source/_license.html.erb +1 -1
  22. data/guides/source/_welcome.html.erb +2 -8
  23. data/guides/source/action_controller_overview.md +79 -7
  24. data/guides/source/action_mailer_basics.md +36 -11
  25. data/guides/source/action_view_overview.md +138 -119
  26. data/guides/source/active_job_basics.md +253 -0
  27. data/guides/source/active_model_basics.md +23 -0
  28. data/guides/source/active_record_basics.md +16 -15
  29. data/guides/source/active_record_callbacks.md +12 -9
  30. data/guides/source/{migrations.md → active_record_migrations.md} +90 -217
  31. data/guides/source/active_record_postgresql.md +437 -0
  32. data/guides/source/active_record_querying.md +261 -261
  33. data/guides/source/active_record_validations.md +7 -7
  34. data/guides/source/active_support_core_extensions.md +105 -44
  35. data/guides/source/active_support_instrumentation.md +3 -2
  36. data/guides/source/api_documentation_guidelines.md +62 -16
  37. data/guides/source/asset_pipeline.md +58 -46
  38. data/guides/source/association_basics.md +47 -38
  39. data/guides/source/caching_with_rails.md +31 -6
  40. data/guides/source/command_line.md +56 -25
  41. data/guides/source/configuring.md +98 -19
  42. data/guides/source/contributing_to_ruby_on_rails.md +174 -111
  43. data/guides/source/credits.html.erb +1 -1
  44. data/guides/source/debugging_rails_applications.md +438 -284
  45. data/guides/source/development_dependencies_install.md +17 -4
  46. data/guides/source/documents.yaml +11 -7
  47. data/guides/source/engines.md +192 -203
  48. data/guides/source/form_helpers.md +54 -45
  49. data/guides/source/generators.md +20 -11
  50. data/guides/source/getting_started.md +330 -191
  51. data/guides/source/i18n.md +92 -62
  52. data/guides/source/index.html.erb +1 -0
  53. data/guides/source/initialization.md +108 -59
  54. data/guides/source/layout.html.erb +1 -4
  55. data/guides/source/layouts_and_rendering.md +24 -23
  56. data/guides/source/nested_model_forms.md +3 -3
  57. data/guides/source/plugins.md +26 -26
  58. data/guides/source/rails_application_templates.md +21 -3
  59. data/guides/source/rails_on_rack.md +1 -1
  60. data/guides/source/routing.md +97 -71
  61. data/guides/source/ruby_on_rails_guides_guidelines.md +10 -12
  62. data/guides/source/security.md +39 -33
  63. data/guides/source/testing.md +111 -108
  64. data/guides/source/upgrading_ruby_on_rails.md +131 -14
  65. data/guides/source/working_with_javascript_in_rails.md +18 -16
  66. data/guides/w3c_validator.rb +2 -0
  67. metadata +37 -94
  68. data/guides/bug_report_templates/generic_gem.rb +0 -15
  69. data/guides/bug_report_templates/generic_master.rb +0 -26
  70. data/guides/code/getting_started/Gemfile +0 -40
  71. data/guides/code/getting_started/Gemfile.lock +0 -125
  72. data/guides/code/getting_started/README.rdoc +0 -28
  73. data/guides/code/getting_started/Rakefile +0 -6
  74. data/guides/code/getting_started/app/assets/javascripts/application.js +0 -15
  75. data/guides/code/getting_started/app/assets/javascripts/comments.js.coffee +0 -3
  76. data/guides/code/getting_started/app/assets/javascripts/posts.js.coffee +0 -3
  77. data/guides/code/getting_started/app/assets/javascripts/welcome.js.coffee +0 -3
  78. data/guides/code/getting_started/app/assets/stylesheets/application.css +0 -13
  79. data/guides/code/getting_started/app/assets/stylesheets/comments.css.scss +0 -3
  80. data/guides/code/getting_started/app/assets/stylesheets/posts.css.scss +0 -3
  81. data/guides/code/getting_started/app/assets/stylesheets/welcome.css.scss +0 -3
  82. data/guides/code/getting_started/app/controllers/application_controller.rb +0 -5
  83. data/guides/code/getting_started/app/controllers/comments_controller.rb +0 -23
  84. data/guides/code/getting_started/app/controllers/posts_controller.rb +0 -53
  85. data/guides/code/getting_started/app/controllers/welcome_controller.rb +0 -4
  86. data/guides/code/getting_started/app/helpers/application_helper.rb +0 -2
  87. data/guides/code/getting_started/app/helpers/comments_helper.rb +0 -2
  88. data/guides/code/getting_started/app/helpers/posts_helper.rb +0 -2
  89. data/guides/code/getting_started/app/helpers/welcome_helper.rb +0 -2
  90. data/guides/code/getting_started/app/models/comment.rb +0 -3
  91. data/guides/code/getting_started/app/models/post.rb +0 -7
  92. data/guides/code/getting_started/app/views/comments/_comment.html.erb +0 -15
  93. data/guides/code/getting_started/app/views/comments/_form.html.erb +0 -13
  94. data/guides/code/getting_started/app/views/layouts/application.html.erb +0 -14
  95. data/guides/code/getting_started/app/views/posts/_form.html.erb +0 -27
  96. data/guides/code/getting_started/app/views/posts/edit.html.erb +0 -5
  97. data/guides/code/getting_started/app/views/posts/index.html.erb +0 -21
  98. data/guides/code/getting_started/app/views/posts/new.html.erb +0 -5
  99. data/guides/code/getting_started/app/views/posts/show.html.erb +0 -18
  100. data/guides/code/getting_started/app/views/welcome/index.html.erb +0 -4
  101. data/guides/code/getting_started/bin/bundle +0 -4
  102. data/guides/code/getting_started/bin/rails +0 -4
  103. data/guides/code/getting_started/bin/rake +0 -4
  104. data/guides/code/getting_started/config.ru +0 -4
  105. data/guides/code/getting_started/config/application.rb +0 -18
  106. data/guides/code/getting_started/config/boot.rb +0 -4
  107. data/guides/code/getting_started/config/database.yml +0 -25
  108. data/guides/code/getting_started/config/environment.rb +0 -5
  109. data/guides/code/getting_started/config/environments/development.rb +0 -30
  110. data/guides/code/getting_started/config/environments/production.rb +0 -80
  111. data/guides/code/getting_started/config/environments/test.rb +0 -36
  112. data/guides/code/getting_started/config/initializers/backtrace_silencers.rb +0 -7
  113. data/guides/code/getting_started/config/initializers/filter_parameter_logging.rb +0 -4
  114. data/guides/code/getting_started/config/initializers/inflections.rb +0 -16
  115. data/guides/code/getting_started/config/initializers/locale.rb +0 -9
  116. data/guides/code/getting_started/config/initializers/mime_types.rb +0 -5
  117. data/guides/code/getting_started/config/initializers/secret_token.rb +0 -12
  118. data/guides/code/getting_started/config/initializers/session_store.rb +0 -3
  119. data/guides/code/getting_started/config/initializers/wrap_parameters.rb +0 -14
  120. data/guides/code/getting_started/config/locales/en.yml +0 -23
  121. data/guides/code/getting_started/config/routes.rb +0 -7
  122. data/guides/code/getting_started/db/migrate/20130122042648_create_posts.rb +0 -10
  123. data/guides/code/getting_started/db/migrate/20130122045842_create_comments.rb +0 -11
  124. data/guides/code/getting_started/db/schema.rb +0 -33
  125. data/guides/code/getting_started/db/seeds.rb +0 -7
  126. data/guides/code/getting_started/public/404.html +0 -60
  127. data/guides/code/getting_started/public/422.html +0 -60
  128. data/guides/code/getting_started/public/500.html +0 -59
  129. data/guides/code/getting_started/public/favicon.ico +0 -0
  130. data/guides/code/getting_started/public/robots.txt +0 -5
  131. data/guides/code/getting_started/test/controllers/comments_controller_test.rb +0 -7
  132. data/guides/code/getting_started/test/controllers/posts_controller_test.rb +0 -7
  133. data/guides/code/getting_started/test/controllers/welcome_controller_test.rb +0 -9
  134. data/guides/code/getting_started/test/fixtures/comments.yml +0 -11
  135. data/guides/code/getting_started/test/fixtures/posts.yml +0 -9
  136. data/guides/code/getting_started/test/helpers/comments_helper_test.rb +0 -4
  137. data/guides/code/getting_started/test/helpers/posts_helper_test.rb +0 -4
  138. data/guides/code/getting_started/test/helpers/welcome_helper_test.rb +0 -4
  139. data/guides/code/getting_started/test/models/comment_test.rb +0 -7
  140. data/guides/code/getting_started/test/models/post_test.rb +0 -7
  141. data/guides/code/getting_started/test/test_helper.rb +0 -12
@@ -1,15 +0,0 @@
1
- # Activate the gems you are reporting the issue against.
2
- gem 'activesupport', '4.0.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
@@ -1,26 +0,0 @@
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
@@ -1,40 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
-
4
- # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5
- gem 'rails', '4.1.1'
6
- # Use SQLite3 as the database for Active Record
7
- gem 'sqlite3'
8
- # Use SCSS for stylesheets
9
- gem 'sass-rails', '~> 4.0.3'
10
- # Use Uglifier as compressor for JavaScript assets
11
- gem 'uglifier', '>= 1.3.0'
12
- # Use CoffeeScript for .js.coffee assets and views
13
- gem 'coffee-rails', '~> 4.0.0'
14
- # See https://github.com/sstephenson/execjs#readme for more supported runtimes
15
- # gem 'therubyracer', platforms: :ruby
16
-
17
- # Use jquery as the JavaScript library
18
- gem 'jquery-rails'
19
- # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
20
- gem 'turbolinks'
21
- # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
22
- gem 'jbuilder', '~> 2.0'
23
- # bundle exec rake doc:rails generates the API under doc/api.
24
- gem 'sdoc', '~> 0.4.0', group: :doc
25
-
26
- # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
27
- gem 'spring', group: :development
28
-
29
- # Use ActiveModel has_secure_password
30
- # gem 'bcrypt', '~> 3.1.7'
31
-
32
- # Use unicorn as the app server
33
- # gem 'unicorn'
34
-
35
- # Use Capistrano for deployment
36
- # gem 'capistrano-rails', group: :development
37
-
38
- # Use debugger
39
- # gem 'debugger', group: [:development, :test]
40
-
@@ -1,125 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- actionmailer (4.1.1)
5
- actionpack (= 4.1.1)
6
- actionview (= 4.1.1)
7
- mail (~> 2.5.4)
8
- actionpack (4.1.1)
9
- actionview (= 4.1.1)
10
- activesupport (= 4.1.1)
11
- rack (~> 1.5.2)
12
- rack-test (~> 0.6.2)
13
- actionview (4.1.1)
14
- activesupport (= 4.1.1)
15
- builder (~> 3.1)
16
- erubis (~> 2.7.0)
17
- activemodel (4.1.1)
18
- activesupport (= 4.1.1)
19
- builder (~> 3.1)
20
- activerecord (4.1.1)
21
- activemodel (= 4.1.1)
22
- activesupport (= 4.1.1)
23
- arel (~> 5.0.0)
24
- activesupport (4.1.1)
25
- i18n (~> 0.6, >= 0.6.9)
26
- json (~> 1.7, >= 1.7.7)
27
- minitest (~> 5.1)
28
- thread_safe (~> 0.1)
29
- tzinfo (~> 1.1)
30
- arel (5.0.1.20140414130214)
31
- builder (3.2.2)
32
- coffee-rails (4.0.1)
33
- coffee-script (>= 2.2.0)
34
- railties (>= 4.0.0, < 5.0)
35
- coffee-script (2.2.0)
36
- coffee-script-source
37
- execjs
38
- coffee-script-source (1.6.3)
39
- erubis (2.7.0)
40
- execjs (2.0.2)
41
- hike (1.2.3)
42
- i18n (0.6.9)
43
- jbuilder (2.0.2)
44
- activesupport (>= 3.0.0)
45
- multi_json (>= 1.2.0)
46
- jquery-rails (3.0.4)
47
- railties (>= 3.0, < 5.0)
48
- thor (>= 0.14, < 2.0)
49
- json (1.8.1)
50
- mail (2.5.4)
51
- mime-types (~> 1.16)
52
- treetop (~> 1.4.8)
53
- mime-types (1.25.1)
54
- minitest (5.3.4)
55
- multi_json (1.10.1)
56
- polyglot (0.3.4)
57
- rack (1.5.2)
58
- rack-test (0.6.2)
59
- rack (>= 1.0)
60
- rails (4.1.1)
61
- actionmailer (= 4.1.1)
62
- actionpack (= 4.1.1)
63
- actionview (= 4.1.1)
64
- activemodel (= 4.1.1)
65
- activerecord (= 4.1.1)
66
- activesupport (= 4.1.1)
67
- bundler (>= 1.3.0, < 2.0)
68
- railties (= 4.1.1)
69
- sprockets-rails (~> 2.0)
70
- railties (4.1.1)
71
- actionpack (= 4.1.1)
72
- activesupport (= 4.1.1)
73
- rake (>= 0.8.7)
74
- thor (>= 0.18.1, < 2.0)
75
- rake (10.3.2)
76
- rdoc (4.1.1)
77
- json (~> 1.4)
78
- sass (3.2.19)
79
- sass-rails (4.0.3)
80
- railties (>= 4.0.0, < 5.0)
81
- sass (~> 3.2.0)
82
- sprockets (~> 2.8, <= 2.11.0)
83
- sprockets-rails (~> 2.0)
84
- sdoc (0.4.0)
85
- json (~> 1.8)
86
- rdoc (~> 4.0, < 5.0)
87
- spring (1.0.0)
88
- sprockets (2.11.0)
89
- hike (~> 1.2)
90
- multi_json (~> 1.0)
91
- rack (~> 1.0)
92
- tilt (~> 1.1, != 1.3.0)
93
- sprockets-rails (2.1.3)
94
- actionpack (>= 3.0)
95
- activesupport (>= 3.0)
96
- sprockets (~> 2.8)
97
- sqlite3 (1.3.8)
98
- thor (0.19.1)
99
- thread_safe (0.3.3)
100
- tilt (1.4.1)
101
- treetop (1.4.15)
102
- polyglot
103
- polyglot (>= 0.3.1)
104
- turbolinks (2.2.0)
105
- coffee-rails
106
- tzinfo (1.1.0)
107
- thread_safe (~> 0.1)
108
- uglifier (2.4.0)
109
- execjs (>= 0.3.0)
110
- json (>= 1.8.0)
111
-
112
- PLATFORMS
113
- ruby
114
-
115
- DEPENDENCIES
116
- coffee-rails (~> 4.0.0)
117
- jbuilder (~> 2.0)
118
- jquery-rails
119
- rails (= 4.1.1)
120
- sass-rails (~> 4.0.3)
121
- sdoc (~> 0.4.0)
122
- spring
123
- sqlite3
124
- turbolinks
125
- uglifier (>= 1.3.0)
@@ -1,28 +0,0 @@
1
- == README
2
-
3
- This README would normally document whatever steps are necessary to get the
4
- application up and running.
5
-
6
- Things you may want to cover:
7
-
8
- * Ruby version
9
-
10
- * System dependencies
11
-
12
- * Configuration
13
-
14
- * Database creation
15
-
16
- * Database initialization
17
-
18
- * How to run the test suite
19
-
20
- * Services (job queues, cache servers, search engines, etc.)
21
-
22
- * Deployment instructions
23
-
24
- * ...
25
-
26
-
27
- Please feel free to use a different markup language if you do not plan to run
28
- <tt>rake doc:app</tt>.
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
-
6
- Rails.application.load_tasks
@@ -1,15 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // stub path allows dependency to be excluded from the asset bundle.
11
- //
12
- //= require jquery
13
- //= require jquery_ujs
14
- //= require turbolinks
15
- //= require_tree .
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -1,13 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the top of the
9
- * compiled file, but it's generally better to create a new file per style scope.
10
- *
11
- *= require_self
12
- *= require_tree .
13
- */
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the Comments controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the posts controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the welcome controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,5 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- # Prevent CSRF attacks by raising an exception.
3
- # For APIs, you may want to use :null_session instead.
4
- protect_from_forgery with: :exception
5
- end
@@ -1,23 +0,0 @@
1
- class CommentsController < ApplicationController
2
-
3
- http_basic_authenticate_with name: "dhh", password: "secret", only: :destroy
4
-
5
- def create
6
- @post = Post.find(params[:post_id])
7
- @comment = @post.comments.create(comment_params)
8
- redirect_to post_path(@post)
9
- end
10
-
11
- def destroy
12
- @post = Post.find(params[:post_id])
13
- @comment = @post.comments.find(params[:id])
14
- @comment.destroy
15
- redirect_to post_path(@post)
16
- end
17
-
18
- private
19
-
20
- def comment_params
21
- params.require(:comment).permit(:commenter, :body)
22
- end
23
- end
@@ -1,53 +0,0 @@
1
- class PostsController < ApplicationController
2
-
3
- http_basic_authenticate_with name: "dhh", password: "secret", except: [:index, :show]
4
-
5
- def index
6
- @posts = Post.all
7
- end
8
-
9
- def show
10
- @post = Post.find(params[:id])
11
- end
12
-
13
- def edit
14
- @post = Post.find(params[:id])
15
- end
16
-
17
- def update
18
- @post = Post.find(params[:id])
19
-
20
- if @post.update(post_params)
21
- redirect_to action: :show, id: @post.id
22
- else
23
- render 'edit'
24
- end
25
- end
26
-
27
- def new
28
- @post = Post.new
29
- end
30
-
31
- def create
32
- @post = Post.new(post_params)
33
-
34
- if @post.save
35
- redirect_to action: :show, id: @post.id
36
- else
37
- render 'new'
38
- end
39
- end
40
-
41
- def destroy
42
- @post = Post.find(params[:id])
43
- @post.destroy
44
-
45
- redirect_to action: :index
46
- end
47
-
48
- private
49
-
50
- def post_params
51
- params.require(:post).permit(:title, :text)
52
- end
53
- end
@@ -1,4 +0,0 @@
1
- class WelcomeController < ApplicationController
2
- def index
3
- end
4
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,2 +0,0 @@
1
- module CommentsHelper
2
- end
@@ -1,2 +0,0 @@
1
- module PostsHelper
2
- end
@@ -1,2 +0,0 @@
1
- module WelcomeHelper
2
- end
@@ -1,3 +0,0 @@
1
- class Comment < ActiveRecord::Base
2
- belongs_to :post
3
- end
@@ -1,7 +0,0 @@
1
- class Post < ActiveRecord::Base
2
- has_many :comments, dependent: :destroy
3
-
4
- validates :title,
5
- presence: true,
6
- length: { minimum: 5 }
7
- end
@@ -1,15 +0,0 @@
1
- <p>
2
- <strong>Commenter:</strong>
3
- <%= comment.commenter %>
4
- </p>
5
-
6
- <p>
7
- <strong>Comment:</strong>
8
- <%= comment.body %>
9
- </p>
10
-
11
- <p>
12
- <%= link_to 'Destroy Comment', [comment.post, comment],
13
- method: :delete,
14
- data: { confirm: 'Are you sure?' } %>
15
- </p>