aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
Commit message (Collapse)AuthorAgeFilesLines
* Allow users to choose when to eager_load the application or not.José Valim2012-08-217-7/+42
| | | | | | | | | | | | | | | | | Previously, the eager load behavior was mostly coupled to config.cache_classes, however this was suboptimal since in some environments a developer may want to cache classes but not necessarily load them all on boot (for example, test env). This pull request also promotes the use of config.eager_load set to true by default in production. In the majority of the cases, this is the behavior you want since it will copy most of your app into memory on boot (which was also the previous behavior). Finally, this fix a long standing Rails bug where it was impossible to access a model in a rake task when Rails was set as thread safe.
* fix punctuation in config templatesFrancesco Rodriguez2012-08-207-12/+12
|
* Update to activerecord-deprecated_finders on generatorMiguel Herranz2012-08-171-2/+2
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-161-2/+20
|\
| * copy edits [ci skip]Vijay Dev2012-08-161-7/+6
| |
| * Add extra documentation to the locale file.Steve Klabnik2012-08-041-2/+21
| |
* | We don't need to require AS::TestCaseSteve Klabnik2012-08-141-3/+0
| | | | | | | | | | | | | | | | | | This was only needed due to https://github.com/rails/rails/blob/6591a10b1f6eccc91bc01ab708050884058e9665/railties/lib/rails/console_app.rb#L6 We don't need that on master. Fixes #6907.
* | oops, should be directoryAaron Patterson2012-08-131-1/+1
| |
* | speed up cache directory creationAaron Patterson2012-08-131-3/+9
| | | | | | | | | | | | Let Rake control the cache directories. If the directory already exists, rake will skip creating it (vs the previous task which would always try to mkdir_p)
* | Move AD default_headers configurations to railtieGuillermo Iguaran2012-08-101-5/+0
| | | | | | | | | | | | ActionDispatch railtie is a better place for config.action_dispatch.default_headers settings, users can continue overriding those settings in their configuration files if needed.
* | Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-111-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* | Remove the dependent_restrict_raises option.Jon Leighton2012-08-101-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* | introduce default_headers configEgor Homakov2012-08-091-0/+5
| |
* | Remove highly uncommon option for moving the manifest pathDavid Heinemeier Hansson2012-08-081-3/+0
| |
* | Observers are no longer important enough to get this configuration option ↵David Heinemeier Hansson2012-08-071-3/+0
| | | | | | | | called out at the top level
* | Revert "The application generator generates `public/humans.txt` with some ↵David Heinemeier Hansson2012-08-071-7/+0
| | | | | | | | basic data". I dont consider this something most people is going to want most of the time. If you want to add it in your own app, knock yourself out. But it doesnt belong in Rails imo
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-066-14/+7
|/ | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* Remove `:rails_env` task since it is not needed anymore.Rafael Mendonça França2012-08-021-7/+0
|
* The use_schema_cache_dump configuration moved to ActiveRecord.kennyj2012-08-021-2/+1
|
* Restoring documentation for env_config per #7070Justin Mazzi2012-08-011-0/+11
|
* Updated scaffold_controller generator docs #7146Aaron Cruz2012-07-311-4/+3
| | | | | | | | | | It was just a copy of the controller generator documentation which was misleading. It doesn't accept arguments for views. This seems more descriptive as well. Respect 80 char limit. #7147 Made a nicer paragraph #7147
* Make ActiveSupport::Inflector locale aware and multilingualDavid Celis2012-07-301-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Inflector is currently not very supportive of internationalized websites. If a user wants to singularize and/or pluralize words based on any locale other than English, they must define each case in locale files. Rather than create large locale files with mappings between singular and plural words, why not allow the Inflector to accept a locale? This patch makes ActiveSupport::Inflector locale aware and uses `:en`` unless otherwise specified. Users will still be provided a list of English (:en) inflections, but they may additionally define inflection rules for other locales. Each list is kept separately and permanently. There is no reason to limit users to one list of inflections: ActiveSupport::Inflector.inflections(:es) do |inflect| inflect.plural(/$/, 's') inflect.plural(/([^aeéiou])$/i, '\1es') inflect.plural(/([aeiou]s)$/i, '\1') inflect.plural(/z$/i, 'ces') inflect.plural(/á([sn])$/i, 'a\1es') inflect.plural(/é([sn])$/i, 'e\1es') inflect.plural(/í([sn])$/i, 'i\1es') inflect.plural(/ó([sn])$/i, 'o\1es') inflect.plural(/ú([sn])$/i, 'u\1es') inflect.singular(/s$/, '') inflect.singular(/es$/, '') inflect.irregular('el', 'los') end 'ley'.pluralize(:es) # => "leyes" 'ley'.pluralize(:en) # => "leys" 'avión'.pluralize(:es) # => "aviones" 'avión'.pluralize(:en) # => "avións" A multilingual Inflector should be of use to anybody that is tasked with internationalizing their Rails application. Signed-off-by: David Celis <david@davidcelis.com>
* Merge pull request #6991 from frodsan/performance_test_generatorRafael Mendonça França2012-07-242-2/+2
|\ | | | | update performance test template to use test method
| * update performance test template to use test methodFrancesco Rodriguez2012-07-062-2/+2
| |
* | Remove ActionDispatch::Head middleware in favor of Rack::HeadSantiago Pastorino2012-07-231-1/+1
| | | | | | | | Closes #7110 there's more work to do on rack-cache issue 69
* | Copy-edits at Rails::Queueing documentationRafael Mendonça França2012-07-211-2/+2
| |
* | adding Rails::Queueing::ContainerAaron Patterson2012-07-192-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to do: In your configuration: Rails.queue[:image_queue] = SomeQueue.new Rails.queue[:mail_queue] = SomeQueue.new In your app code: Rails.queue[:mail_queue].push MailJob.new Both jobs pushed to the same default queue Rails.queue.push DefaultJob.new Rails.queue[:default].push DefaultJob.new
* | Add fkey attributes to `join_table` migration generatorAleksey Magusev2012-07-191-1/+9
| |
* | Remove `:confirm` in favor of `:data => { :confirm => 'Text' }` optionCarlos Galdino2012-07-181-1/+1
| | | | | | | | | | | | | | | | | | This applies to the following helpers: `button_to` `button_tag` `image_submit_tag` `link_to` `submit_tag`
* | Merge pull request #7028 from lexmag/join_table_indexesJosé Valim2012-07-181-1/+2
|\ \ | | | | | | Add indexes to create_join_table method
| * | Add join table migration generatorAleksey Magusev2012-07-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For instance, running rails g migration CreateMediaJoinTable artists musics:uniq will create a migration with create_join_table :artists, :musics do |t| # t.index [:artist_id, :music_id] t.index [:music_id, :artist_id], unique: true end
* | | A more informative comment for config.asset.debugJared Beck2012-07-161-1/+1
|/ /
* | Rename RouteInspector to RoutesInspectorCarlos Antonio da Silva2012-07-082-2/+2
| | | | | | | | Follow the consistency defined in dbc43bc.
* | Remove RoutesInspector from railties, since it was moved to APCarlos Antonio da Silva2012-07-082-122/+0
| | | | | | | | | | Changes introduced in 7404cda9f61e41d52ce244d60abbf598684a96c4. Fix railties build.
* | move route_inspector to actionpack@schneems and @mattt2012-07-073-5/+6
| | | | | | | | this is so we can show route output in the development when we get a routing error. Railties can use features of ActionDispatch, but ActionDispatch should not depend on Railties.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-071-2/+1
|\ \
| * | There is only task for installing migrations when using enginesWojciech Wnętrzak2012-07-041-2/+1
| | |
* | | update test_help to config properly turn natural language optionFrancesco Rodriguez2012-07-061-1/+4
| |/ |/| | | | | | | | | | | | | | | | | | | | | Last versions of Turn don't monkey patch MiniTest to setup the natural language option. Here is an [example](https://github.com/TwP/turn/blob/master/try/test_autorun_minitest.rb#L3). This patches the following behaviour: $ rake test:units `<top (required)>': undefined method `use_natural_language_case_names=' for MiniTest::Unit:Class (NoMethodError)
* | Merge pull request #6959 from robin850/patch-1José Valim2012-07-051-0/+49
|\ \ | | | | | | Add few information on the field types
| * | Add few information on the field typesRobin Dupret2012-07-041-0/+49
| | |
* | | CSV fixtures aren't supported by default anymore, update generated ↵Guillermo Iguaran2012-07-041-1/+1
|/ / | | | | | | test_helper.rb to reflect that
* | remove test/dummy from gitignore when "plugin new -T"Francesco Rodriguez2012-07-031-0/+2
| |
* | Ensure test jobs are marshallablePaul Battley2012-07-031-0/+7
| | | | | | | | | | | | | | | | | | | | By marshalling and unmarshalling jobs when adding them to the test queue, we can ensure that jobs created during test runs are valid candidates for marshalling, and, thus, that they can be used with queueing backends other than the default simple in-process implementation. This will also be used in a subsequent commit to ensure that jobs pushed to the queue do not contain a reference to the queue itself.
* | Merge pull request #6910 from mulder/fix_path_globJosé Valim2012-07-011-1/+2
|\ \ | |/ |/| Persist glob when replacing a path
| * Persist glob when replacing a pathNicholas Mulder2012-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Rails::Paths::Root's []= is used to replace a path it should persist the previous path's glob. Without passing the glob along we get gnarly bugs when trying to wire up things like engines. module FooEngine class Engine < ::Rails::Engine isolate_namespace FooEngine config.paths['config/initializers'] = "lib/foo_engine/initializers" end end ## Example of behaviour before this commit. # # Before the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb" # After the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => nil ## Example of behaviour after this commit. # # Before the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb" # After the initializer override: >> FooEngine::Engine.config.paths["config/initializers"].glob => "**/*.rb"
* | Revert "Allow loading external route files from the router"José Valim2012-06-294-25/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6acebb38bc0637bc05c19d87f8767f16ce79189b. Usage of this feature did not reveal any improvement in existing apps. Conflicts: actionpack/lib/action_dispatch/routing/mapper.rb guides/source/routing.textile railties/lib/rails/engine.rb railties/lib/rails/paths.rb railties/test/paths_test.rb
* | Remove unused responsibilities and add a few load definitions to enginesJosé Valim2012-06-293-146/+139
|/ | | | | | | | Since plugins were removed, we can clean up a few methods in engines. We also use this opportunity to move `load_console`, `load_tasks` and `load_runner` to Rails::Engine. This means that, if someone wants to improve script/rails for engines to support console or runner commands, part of the work is already done.
* Remove unnecessary Railties structure now that plugins are goneJosé Valim2012-06-294-110/+80
|
* Rename RouteInspect to RoutesInspector for consistencyJosé Valim2012-06-293-5/+5
|
* Merge pull request #6856 from lexmag/polymorphic_generatorsCarlos Antonio da Silva2012-06-271-2/+12
|\ | | | | | | | | | | | | | | | | Add polymorphic option to model generator For instance, $ rails g model Product supplier:references{polymorphic} generate model with `belongs_to :supplier, polymorphic: true` association and appropriate migration.