railties 4.0.0.beta1 → 4.0.0.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +120 -27
  3. data/RDOC_MAIN.rdoc +73 -0
  4. data/bin/rails +3 -1
  5. data/lib/rails/api/task.rb +158 -0
  6. data/lib/rails/app_rails_loader.rb +44 -20
  7. data/lib/rails/application.rb +55 -32
  8. data/lib/rails/application/configuration.rb +9 -7
  9. data/lib/rails/commands.rb +2 -0
  10. data/lib/rails/commands/console.rb +3 -1
  11. data/lib/rails/commands/server.rb +6 -2
  12. data/lib/rails/engine.rb +4 -3
  13. data/lib/rails/generators/actions.rb +1 -1
  14. data/lib/rails/generators/app_base.rb +52 -30
  15. data/lib/rails/generators/erb/scaffold/templates/_form.html.erb +10 -1
  16. data/lib/rails/generators/erb/scaffold/templates/index.html.erb +9 -9
  17. data/lib/rails/generators/erb/scaffold/templates/show.html.erb +1 -2
  18. data/lib/rails/generators/generated_attribute.rb +4 -0
  19. data/lib/rails/generators/named_base.rb +2 -1
  20. data/lib/rails/generators/rails/app/templates/Gemfile +9 -4
  21. data/lib/rails/generators/rails/app/templates/config.ru +1 -1
  22. data/lib/rails/generators/rails/app/templates/config/application.rb +3 -2
  23. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -0
  24. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -2
  25. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +1 -1
  26. data/lib/rails/generators/rails/app/templates/config/initializers/secret_token.rb.tt +1 -1
  27. data/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt +1 -1
  28. data/lib/rails/generators/rails/app/templates/config/routes.rb +1 -1
  29. data/lib/rails/generators/rails/app/templates/public/404.html +41 -10
  30. data/lib/rails/generators/rails/app/templates/public/422.html +42 -10
  31. data/lib/rails/generators/rails/app/templates/public/500.html +41 -10
  32. data/lib/rails/generators/rails/app/templates/test/test_helper.rb +1 -1
  33. data/lib/rails/generators/rails/model/USAGE +16 -10
  34. data/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb +9 -5
  35. data/lib/rails/generators/rails/plugin_new/templates/%name%.gemspec +0 -3
  36. data/lib/rails/generators/rails/plugin_new/templates/Gemfile +0 -8
  37. data/lib/rails/generators/rails/plugin_new/templates/rails/boot.rb +4 -8
  38. data/lib/rails/generators/rails/plugin_new/templates/rails/javascripts.js +13 -0
  39. data/lib/rails/generators/rails/plugin_new/templates/rails/stylesheets.css +13 -0
  40. data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +1 -0
  41. data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb +1 -1
  42. data/lib/rails/generators/test_case.rb +6 -211
  43. data/lib/rails/generators/test_unit/model/templates/fixtures.yml +7 -9
  44. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +5 -1
  45. data/lib/rails/generators/testing/assertions.rb +121 -0
  46. data/lib/rails/generators/testing/behaviour.rb +106 -0
  47. data/lib/rails/generators/testing/setup_and_teardown.rb +18 -0
  48. data/lib/rails/info.rb +2 -2
  49. data/lib/rails/tasks/documentation.rake +2 -46
  50. data/lib/rails/templates/rails/welcome/index.html.erb +1 -1
  51. data/lib/rails/test_unit/railtie.rb +4 -0
  52. data/lib/rails/test_unit/sub_test_task.rb +78 -1
  53. data/lib/rails/test_unit/testing.rake +32 -42
  54. data/lib/rails/version.rb +3 -3
  55. metadata +15 -23
  56. data/lib/rails/generators/rails/app/templates/app/assets/images/rails.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ca628c9af2d79aa4b7b39799c35baceca22e0cb
4
- data.tar.gz: 8eff78e57e8aad5ebc8f801406c75ebcff0ec7be
3
+ metadata.gz: 37e89dda5a168600b16ced676d5df9369fe7c3a4
4
+ data.tar.gz: 53de3cda6db70ee7ad7e39198d8bf0ee2fb9b348
5
5
  SHA512:
6
- metadata.gz: d5db4b13cf795aaa7bc28cd70c64e08e2a84b889714a34d4850bb61c5f38e12e9ad68ce51457d36d42408bdd943a96db9fd0ba56ec6303788c7b039035340419
7
- data.tar.gz: 3176d273733bbcd97382d2e577d28f50cfea086526e64e788b10082d536365b77e24293702350d746b1e3b64621db7f5ae018c9993de0a71bc86300b740310ba
6
+ metadata.gz: 6c1dc30721c0547579a5c877fb2deec2d76895c6e541cc9becaa026b37ab3a8f53112cfc3e1a45ae4acdd46ef8b48a77a0c3693c3fb6bef2b6a4eef950e593a5
7
+ data.tar.gz: d049ff1041a82b40557189150497da39423b9016d041d9b8c03575c6d8474929bcb804f26920a927ef07ebaa8171555944b5dee253d98531aac5e9947363b670
@@ -1,3 +1,66 @@
1
+ ## Rails 4.0.0 (unreleased) ##
2
+
3
+ * Move rails.png into a data-uri. One less file to get generated into a new
4
+ application. This is also consistent with the removal of index.html.
5
+
6
+ *Steve Klabnik*
7
+
8
+ * The application rake task `doc:rails` generates now an API like the
9
+ official one (except for the links to GitHub).
10
+
11
+ *Xavier Noria*
12
+
13
+ * Allow vanilla apps to render CoffeeScript templates in production
14
+
15
+ Vanilla apps already render CoffeeScript templates in development and test
16
+ environments. With this change, the production behavior matches that of
17
+ the other environments.
18
+
19
+ Effectively, this meant moving coffee-rails (and the JavaScript runtime on
20
+ which it is dependent) from the :assets group to the top-level of the
21
+ generated Gemfile.
22
+
23
+ *Gabe Kopley*
24
+
25
+ * Don't generate a scaffold.css when --no-assets is specified
26
+
27
+ *Kevin Glowacz*
28
+
29
+ * Add support for generate scaffold password:digest
30
+
31
+ * adds password_digest attribute to the migration
32
+ * adds has_secure_password to the model
33
+ * adds password and password_confirmation password_fields to _form.html
34
+ * omits password from index.html and show.html
35
+ * adds password and password_confirmation to the controller
36
+ * adds unencrypted password and password_confirmation to the controller test
37
+ * adds encrypted password_digest to the fixture
38
+
39
+ *Sam Ruby*
40
+
41
+ * Improved `rake test` command for running tests
42
+
43
+ To run all tests:
44
+
45
+ $ rake test
46
+
47
+ To run a test suite
48
+
49
+ $ rake test:[models,helpers,units,controllers,mailers,...]
50
+
51
+ To run a selected test file(s):
52
+
53
+ $ rake test test/unit/foo_test.rb [test/unit/bar_test.rb ...]
54
+
55
+ To run a single test from a test file
56
+
57
+ $ rake test test/unit/foo_test.rb TESTOPTS='-n test_the_truth'
58
+
59
+ * Improve service pages with new layout (404, etc).
60
+
61
+ *Stanislav Sobolev*
62
+
63
+
1
64
  ## Rails 4.0.0.beta1 (February 25, 2013) ##
2
65
 
3
66
  * Improve `rake stats` for JavaScript and CoffeeScript: ignore block comments
@@ -5,13 +68,13 @@
5
68
 
6
69
  *Hendy Tanata*
7
70
 
8
- * Ability to use a custom builder by passing `--builder` (or `-b`) has been removed. Consider
9
- using application template instead. See this guide for more detail:
71
+ * Ability to use a custom builder by passing `--builder` (or `-b`) has been removed.
72
+ Consider using application template instead. See this guide for more detail:
10
73
  http://guides.rubyonrails.org/rails_application_templates.html
11
74
 
12
75
  *Prem Sichanugrist*
13
76
 
14
- * fix rake db:* tasks to work with DATABASE_URL and without config/database.yml
77
+ * Fix `rake db:*` tasks to work with `DATABASE_URL` and without `config/database.yml`.
15
78
 
16
79
  *Terence Lee*
17
80
 
@@ -35,13 +98,13 @@
35
98
  *Amparo Luna*
36
99
 
37
100
  * Fixes database.yml when creating a new rails application with '.'
38
- Fix #8304
101
+ Fixes #8304.
39
102
 
40
103
  *Jeremy W. Rowe*
41
104
 
42
105
  * Restore Rails::Engine::Railties#engines with deprecation to ensure
43
106
  compatibility with gems such as Thinking Sphinx
44
- Fix #8551
107
+ Fixes #8551.
45
108
 
46
109
  *Tim Raymond*
47
110
 
@@ -115,7 +178,7 @@
115
178
 
116
179
  * Environment name can be a start substring of the default environment names
117
180
  (production, development, test). For example: tes, pro, prod, dev, devel.
118
- Fix #8628.
181
+ Fixes #8628.
119
182
 
120
183
  *Mykola Kyryk*
121
184
 
@@ -125,7 +188,7 @@
125
188
 
126
189
  * Quote column names in generates fixture files. This prevents
127
190
  conflicts with reserved YAML keywords such as 'yes' and 'no'
128
- Fix #8612.
191
+ Fixes #8612.
129
192
 
130
193
  *Yves Senn*
131
194
 
@@ -158,19 +221,19 @@
158
221
  * Add `db` to list of folders included by `rake notes` and `rake notes:custom`. *Antonio Cangiano*
159
222
 
160
223
  * Engines with a dummy app include the rake tasks of dependencies in the app namespace.
161
- Fix #8229
224
+ Fixes #8229.
162
225
 
163
226
  *Yves Senn*
164
227
 
165
228
  * Add `sqlserver.yml` template file to satisfy `-d sqlserver` being passed to `rails new`.
166
- Fix #6882
229
+ Fixes #6882.
167
230
 
168
231
  *Robert Nesius*
169
232
 
170
233
  * Rake test:uncommitted finds git directory in ancestors *Nicolas Despres*
171
234
 
172
235
  * Add dummy app Rake tasks when `--skip-test-unit` and `--dummy-path` is passed to the plugin generator.
173
- Fix #8121
236
+ Fixes #8121.
174
237
 
175
238
  *Yves Senn*
176
239
 
@@ -212,17 +275,25 @@
212
275
 
213
276
  *Derek Prior & Francesco Rodriguez*
214
277
 
215
- * Fixed support for DATABASE_URL environment variable for rake db tasks. *Grace Liu*
278
+ * Fixed support for `DATABASE_URL` environment variable for rake db tasks.
216
279
 
217
- * rails dbconsole now can use SSL for MySQL. The database.yml options sslca, sslcert, sslcapath, sslcipher,
218
- and sslkey now affect rails dbconsole. *Jim Kingdon and Lars Petrus*
280
+ *Grace Liu*
281
+
282
+ * `rails dbconsole` now can use SSL for MySQL. The `database.yml` options sslca, sslcert, sslcapath, sslcipher
283
+ and sslkey now affect `rails dbconsole`.
284
+
285
+ *Jim Kingdon and Lars Petrus*
219
286
 
220
287
  * Correctly handle SCRIPT_NAME when generating routes to engine in application
221
288
  that's mounted at a sub-uri. With this behavior, you *should not* use
222
- default_url_options[:script_name] to set proper application's mount point by
223
- yourself. *Piotr Sarnacki*
289
+ `default_url_options[:script_name]` to set proper application's mount point by
290
+ yourself.
291
+
292
+ *Piotr Sarnacki*
224
293
 
225
- * `config.threadsafe!` is deprecated in favor of `config.eager_load` which provides a more fine grained control on what is eager loaded *José Valim*
294
+ * `config.threadsafe!` is deprecated in favor of `config.eager_load` which provides a more fine grained control on what is eager loaded .
295
+
296
+ *José Valim*
226
297
 
227
298
  * The migration generator will now produce AddXXXToYYY/RemoveXXXFromYYY migrations with references statements, for instance
228
299
 
@@ -245,21 +316,35 @@
245
316
 
246
317
  *Aleksey Magusev*
247
318
 
248
- * Set `config.active_record.migration_error` to `:page_load` for development *Richard Schneeman*
319
+ * Set `config.active_record.migration_error` to `:page_load` for development.
320
+
321
+ *Richard Schneeman*
249
322
 
250
- * Add runner to Rails::Railtie as a hook called just after runner starts. *José Valim & kennyj*
323
+ * Add runner to `Rails::Railtie` as a hook called just after runner starts.
251
324
 
252
- * Add `/rails/info/routes` path, displays same information as `rake routes` *Richard Schneeman & Andrew White*
325
+ *José Valim & kennyj*
253
326
 
254
- * Improved `rake routes` output for redirects *Łukasz Strzałkowski & Andrew White*
327
+ * Add `/rails/info/routes` path, displays same information as `rake routes` .
255
328
 
256
- * Load all environments available in `config.paths["config/environments"]`. *Piotr Sarnacki*
329
+ *Richard Schneeman & Andrew White*
257
330
 
258
- * Remove Rack::SSL in favour of ActionDispatch::SSL. *Rafael Mendonça França*
331
+ * Improved `rake routes` output for redirects.
259
332
 
260
- * Remove Active Resource from Rails framework. *Prem Sichangrist*
333
+ *Łukasz Strzałkowski & Andrew White*
261
334
 
262
- * Allow to set class that will be used to run as a console, other than IRB, with `Rails.application.config.console=`. It's best to add it to `console` block. *Piotr Sarnacki*
335
+ * Load all environments available in `config.paths["config/environments"]`.
336
+
337
+ *Piotr Sarnacki*
338
+
339
+ * Remove `Rack::SSL` in favour of `ActionDispatch::SSL`.
340
+
341
+ *Rafael Mendonça França*
342
+
343
+ * Remove Active Resource from Rails framework.
344
+
345
+ *Prem Sichangrist*
346
+
347
+ * Allow to set class that will be used to run as a console, other than IRB, with `Rails.application.config.console=`. It's best to add it to `console` block.
263
348
 
264
349
  Example:
265
350
 
@@ -271,12 +356,20 @@
271
356
  config.console = Pry
272
357
  end
273
358
 
359
+ *Piotr Sarnacki*
360
+
274
361
  * Add convenience `hide!` method to Rails generators to hide current generator
275
- namespace from showing when running `rails generate`. *Carlos Antonio da Silva*
362
+ namespace from showing when running `rails generate`.
363
+
364
+ *Carlos Antonio da Silva*
276
365
 
277
- * Rails::Plugin has gone. Instead of adding plugins to vendor/plugins use gems or bundler with path or git dependencies. *Santiago Pastorino*
366
+ * Rails::Plugin has gone. Instead of adding plugins to vendor/plugins use gems or bundler with path or git dependencies.
367
+
368
+ *Santiago Pastorino*
278
369
 
279
370
  * Set config.action_mailer.async = true to turn on asynchronous
280
- message delivery *Brian Cardarella*
371
+ message delivery.
372
+
373
+ *Brian Cardarella*
281
374
 
282
375
  Please check [3-2-stable](https://github.com/rails/rails/blob/3-2-stable/railties/CHANGELOG.md) for previous changes.
@@ -0,0 +1,73 @@
1
+ == Welcome to \Rails
2
+
3
+ \Rails is a web-application framework that includes everything needed to create
4
+ database-backed web applications according to the {Model-View-Controller (MVC)}[http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller] pattern.
5
+
6
+ Understanding the MVC pattern is key to understanding \Rails. MVC divides your application
7
+ into three layers, each with a specific responsibility.
8
+
9
+ The View layer is composed of "templates" that are responsible for providing
10
+ appropriate representations of your application's resources. Templates
11
+ can come in a variety of formats, but most view templates are \HTML with embedded Ruby
12
+ code (.erb files).
13
+
14
+ The Model layer represents your domain model (such as Account, Product, Person, Post)
15
+ and encapsulates the business logic that is specific to your application. In \Rails,
16
+ database-backed model classes are derived from ActiveRecord::Base. Active Record allows
17
+ you to present the data from database rows as objects and embellish these data objects
18
+ with business logic methods. Although most \Rails models are backed by a database, models
19
+ can also be ordinary Ruby classes, or Ruby classes that implement a set of interfaces as
20
+ provided by the ActiveModel module. You can read more about Active Record in its
21
+ {README}[link:/activerecord/README.rdoc].
22
+
23
+ The Controller layer is responsible for handling incoming HTTP requests and providing a
24
+ suitable response. Usually this means returning \HTML, but \Rails controllers can also
25
+ generate XML, JSON, PDFs, mobile-specific views, and more. Controllers manipulate models
26
+ and render view templates in order to generate the appropriate HTTP response.
27
+
28
+ In \Rails, the Controller and View layers are handled together by Action Pack.
29
+ These two layers are bundled in a single package due to their heavy interdependence.
30
+ This is unlike the relationship between Active Record and Action Pack, which are
31
+ independent. Each of these packages can be used independently outside of \Rails. You
32
+ can read more about Action Pack in its {README}[link:/actionpack/README.rdoc].
33
+
34
+ == Getting Started
35
+
36
+ 1. Install \Rails at the command prompt if you haven't yet:
37
+
38
+ gem install rails
39
+
40
+ 2. At the command prompt, create a new \Rails application:
41
+
42
+ rails new myapp
43
+
44
+ where "myapp" is the application name.
45
+
46
+ 3. Change directory to +myapp+ and start the web server:
47
+
48
+ cd myapp; rails server
49
+
50
+ Run with <tt>--help</tt> or <tt>-h</tt> for options.
51
+
52
+ 4. Go to http://localhost:3000 and you'll see:
53
+
54
+ "Welcome aboard: You're riding Ruby on Rails!"
55
+
56
+ 5. Follow the guidelines to start developing your application. You may find the following resources handy:
57
+
58
+ * The README file created within your application.
59
+ * {Getting Started with \Rails}[http://guides.rubyonrails.org/getting_started.html].
60
+ * {Ruby on \Rails Tutorial}[http://ruby.railstutorial.org/ruby-on-rails-tutorial-book].
61
+ * {Ruby on \Rails Guides}[http://guides.rubyonrails.org].
62
+ * {The API Documentation}[http://api.rubyonrails.org].
63
+
64
+ == Contributing
65
+
66
+ We encourage you to contribute to Ruby on \Rails! Please check out the {Contributing to Rails
67
+ guide}[http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html] for guidelines about how
68
+ to proceed. {Join us}[http://contributors.rubyonrails.org]!
69
+
70
+
71
+ == License
72
+
73
+ Ruby on \Rails is released under the {MIT License}[http://www.opensource.org/licenses/MIT].
data/bin/rails CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- if File.exists?(File.join(File.expand_path('../../..', __FILE__), '.git'))
3
+ git_path = File.join(File.expand_path('../../..', __FILE__), '.git')
4
+
5
+ if File.exists?(git_path)
4
6
  railties_path = File.expand_path('../../lib', __FILE__)
5
7
  $:.unshift(railties_path)
6
8
  end
@@ -0,0 +1,158 @@
1
+ require 'rdoc/task'
2
+
3
+ module Rails
4
+ module API
5
+ class Task < RDoc::Task
6
+ RDOC_FILES = {
7
+ 'activesupport' => {
8
+ :include => %w(
9
+ README.rdoc
10
+ CHANGELOG.md
11
+ lib/active_support/**/*.rb
12
+ ),
13
+ :exclude => 'lib/active_support/vendor/*'
14
+ },
15
+
16
+ 'activerecord' => {
17
+ :include => %w(
18
+ README.rdoc
19
+ CHANGELOG.md
20
+ lib/active_record/**/*.rb
21
+ ),
22
+ :exclude => 'lib/active_record/vendor/*'
23
+ },
24
+
25
+ 'activemodel' => {
26
+ :include => %w(
27
+ README.rdoc
28
+ CHANGELOG.md
29
+ lib/active_model/**/*.rb
30
+ )
31
+ },
32
+
33
+ 'actionpack' => {
34
+ :include => %w(
35
+ README.rdoc
36
+ CHANGELOG.md
37
+ lib/abstract_controller/**/*.rb
38
+ lib/action_controller/**/*.rb
39
+ lib/action_dispatch/**/*.rb
40
+ lib/action_view/**/*.rb
41
+ ),
42
+ :exclude => 'lib/action_controller/vendor/*'
43
+ },
44
+
45
+ 'actionmailer' => {
46
+ :include => %w(
47
+ README.rdoc
48
+ CHANGELOG.md
49
+ lib/action_mailer/**/*.rb
50
+ ),
51
+ :exclude => 'lib/action_mailer/vendor/*'
52
+ },
53
+
54
+ 'railties' => {
55
+ :include => %w(
56
+ README.rdoc
57
+ CHANGELOG.md
58
+ MIT-LICENSE
59
+ lib/**/*.rb
60
+ ),
61
+ :exclude => 'lib/rails/generators/rails/**/templates/**/*.rb'
62
+ }
63
+ }
64
+
65
+ def initialize(name)
66
+ super
67
+
68
+ # Every time rake runs this task is instantiated as all the rest.
69
+ # Be lazy computing stuff to have as light impact as possible to
70
+ # the rest of tasks.
71
+ before_running_rdoc do
72
+ load_and_configure_sdoc
73
+ configure_rdoc_files
74
+ setup_horo_variables
75
+ end
76
+ end
77
+
78
+ # Hack, ignore the desc calls performed by the original initializer.
79
+ def desc(description)
80
+ # no-op
81
+ end
82
+
83
+ def load_and_configure_sdoc
84
+ require 'sdoc'
85
+
86
+ self.title = 'Ruby on Rails API'
87
+ self.rdoc_dir = api_dir
88
+
89
+ options << '-m' << api_main
90
+ options << '-e' << 'UTF-8'
91
+
92
+ options << '-f' << 'sdoc'
93
+ options << '-T' << 'rails'
94
+ rescue LoadError
95
+ $stderr.puts %(Unable to load SDoc, please add\n\n gem 'sdoc', require: false\n\nto the Gemfile.)
96
+ exit 1
97
+ end
98
+
99
+ def configure_rdoc_files
100
+ rdoc_files.include(api_main)
101
+
102
+ RDOC_FILES.each do |component, cfg|
103
+ cdr = component_root_dir(component)
104
+
105
+ Array(cfg[:include]).each do |pattern|
106
+ rdoc_files.include("#{cdr}/#{pattern}")
107
+ end
108
+
109
+ Array(cfg[:exclude]).each do |pattern|
110
+ rdoc_files.exclude("#{cdr}/#{pattern}")
111
+ end
112
+ end
113
+ end
114
+
115
+ def setup_horo_variables
116
+ ENV['HORO_PROJECT_NAME'] = 'Ruby on Rails'
117
+ ENV['HORO_PROJECT_VERSION'] = rails_version
118
+ end
119
+
120
+ def api_main
121
+ component_root_dir('railties') + '/RDOC_MAIN.rdoc'
122
+ end
123
+ end
124
+
125
+ class RepoTask < Task
126
+ def load_and_configure_sdoc
127
+ super
128
+ options << '-g' # link to GitHub, SDoc flag
129
+ end
130
+
131
+ def component_root_dir(component)
132
+ component
133
+ end
134
+
135
+ def api_dir
136
+ 'doc/rdoc'
137
+ end
138
+
139
+ def rails_version
140
+ "master@#{`git rev-parse HEAD`[0, 7]}"
141
+ end
142
+ end
143
+
144
+ class AppTask < Task
145
+ def component_root_dir(gem_name)
146
+ $:.grep(%r{#{gem_name}[\w.-]*/lib\z}).first[0..-5]
147
+ end
148
+
149
+ def api_dir
150
+ 'doc/api'
151
+ end
152
+
153
+ def rails_version
154
+ Rails::VERSION::STRING
155
+ end
156
+ end
157
+ end
158
+ end