aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Use a custom route vistor for optimized route generationAndrew White2014-01-054-31/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using a Regexp to replace dynamic segments in a path string is fraught with difficulty and can lead to odd edge cases like #13349. Since we already have a parsed representation of the path it makes sense to use that to generate an array of segments that can be used to build an optimized route's path quickly. Tests on a simple route (e.g. /posts/:id) show a speedup of 35%: https://gist.github.com/pixeltrix/8261932 Calculating ------------------------------------- Current Helper: 5274 i/100ms New Helper: 8050 i/100ms ------------------------------------------------- Current Helper: 79263.6 (±3.7%) i/s - 395550 in 4.997252s New Helper: 153464.5 (±4.9%) i/s - 772800 in 5.047834s Tests on a more complex route show even an greater performance boost: https://gist.github.com/pixeltrix/8261957 Calculating ------------------------------------- Current Helper: 2367 i/100ms New Helper: 5382 i/100ms ------------------------------------------------- Current Helper: 29506.0 (±3.2%) i/s - 149121 in 5.059294s New Helper: 78815.5 (±4.1%) i/s - 398268 in 5.062161s It also has the added benefit of fixing the edge cases described above. Fixes #13349
* | | Merge pull request #13590 from kuldeepaggarwal/fix-date-helper-docRafael Mendonça França2014-01-041-1/+1
|\ \ \ | |/ / |/| | provide correct example of `datetime_select` helper [ci skip]
| * | provide correct example of `datetime_select` helper [ci skip]Kuldeep Aggarwal2014-01-041-1/+1
| | |
* | | Add preview_path to autoload_paths in after_initializeAndrew White2014-01-043-7/+55
|/ / | | | | | | | | | | | | | | | | | | Only config.autoload_paths is frozen, so add the preview_path to ActiveSupport::Dependencies.autoload_paths directly in an after_initialize block. Also protect against a blank preview_path being added to autoload_paths which can cause a serious slowdown as Dir[] tries to load all *_preview.rb files under / Fixes #13372
* | Merge pull request #13587 from kud86/change_truncate_examplesRobin Dupret2014-01-041-0/+3
|\ \ | | | | | | Fixed truncate documentation. [ci skip]
| * | Fixed documentation. [ci skip]Konstantin Wlasow2014-01-041-0/+3
|/ /
* | Fix mergefail in changelogJon Leighton2014-01-041-2/+0
| | | | | | | | The line was duplicated
* | Add deprecation I accidentally missedJon Leighton2014-01-041-1/+1
| |
* | Merge pull request #13584 from tjschuck/cannot_cannot_be_can_notXavier Noria2014-01-0314-71/+71
|\ \ | | | | | | Change all "can not"s to the correct "cannot"
| * | Change all "can not"s to the correct "cannot".T.J. Schuck2014-01-0314-71/+71
| | |
* | | Merge pull request #13583 from arthurnn/mem_cache_store_fixGuillermo Iguaran2014-01-033-10/+12
|\ \ \ | | | | | | | | mem_cache_store requires dalli, so only accept dalli/client
| * | | Raise if MemCacheStore doenst receive a Dalli objArthur Neves2014-01-033-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | :mem_cache_store should receive a list of hosts or a dalli client, otherwise raise it. Also adding a changelog.
| * | | mem_cache_store requires dalli, so only accept dalli/clientArthur Neves2014-01-032-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | :mem_cache_store require dalli, rescue Dalli exceptions, and follow Dalli API. Memcached gem, for instance, doesnt work anymore, as the API are different. As we already require one client, we should make sure that client works, and not accept others, and if someone wants to use another memcache client they can write their own store adapter.
* | | | Minor typo fix [ci skip]Robin Dupret2014-01-031-1/+1
| |/ / |/| |
* | | Merge pull request #10134 from ↵Rafael Mendonça França2014-01-033-6/+10
|\ \ \ | |/ / |/| | | | | | | | derikson/collection_proxy_select_with_multiple_args Change CollectionProxy#select to take the same arguments as ActiveRecord::select
| * | Changed ActiveRecord::Associations::CollectionProxy#select to take multiple ↵Dan Erikson2013-04-083-6/+10
| | | | | | | | | | | | | | | | | | arguments. This makes the arguments the same as ActiveRecord::QueryMethods::select.
* | | No need to use fixed size font [ci skip]Rafael Mendonça França2014-01-031-2/+2
| | |
* | | Merge pull request #13579 from prathamesh-sonpatki/issue-13552Rafael Mendonça França2014-01-031-2/+6
|\ \ \ | | | | | | | | | | | | Fix documentation for end_year option of date_helper [ci skip]
| * | | Fix documentation for end_year option of date_helper [ci skip]Prathamesh Sonpatki2014-01-031-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - While editing an existing record, end_year is equal to current selected year plus 5 by default. - While editing an existing record, start_year is equal to current selected year value minus 5 by default. - Fixes #13552 Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com> Acked-by: Prathamesh Sonpatki <csonpatki@gmail.com>
* | | | Whitespace [ci skip]Rafael Mendonça França2014-01-031-1/+1
| | | |
* | | | Building new records with enum scopes now works as expectedGodfrey Chan2014-01-033-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, this would give an `ArgumentError`: class Issue < ActiveRecord::Base enum :status, [:open, :finished] end Issue.open.build # => ArgumentError: '0' is not a valid status Issue.open.create # => ArgumentError: '0' is not a valid status PR #13542 muted the error, but the issue remains. This commit fixes the issue by allowing the enum value to be written directly via the setter: Issue.new.status = 0 # This now sets status to :open Assigning a value directly via the setter like this is not part of the documented public API, so users should not rely on this behavior. Closes #13530.
* | | | Deprecate unused `symbolized_base_class` and `symbolized_sti_name`.Yves Senn2014-01-033-0/+10
|/ / / | | | | | | | | | | | | | | | | | | These methods were only used for the `IdentityMap` which was removed. They are no longer used internally and should be removed without replacement. As they were not `:nodoc:`'ed it's better to deprecate them before removal.
* | | Merge pull request #13578 from schneems/schneems/database_url-env-defaultRafael Mendonça França2014-01-0212-19/+12
|\ \ \ | | | | | | | | Use DATABASE_URL by default
| * | | Use DATABASE_URL by defaultschneems2014-01-0212-19/+12
|/ / / | | | | | | See https://github.com/rails/rails/pull/13463#issuecomment-31480799 for full conversation.
* | | Merge pull request #13573 from kuldeepaggarwal/doc-fix-default-valuesRafael Mendonça França2014-01-021-2/+2
|\ \ \ | | | | | | | | provide correct information [ci skip]
| * | | provide correct information [ci skip]Kuldeep Aggarwal2014-01-021-2/+2
| | | |
* | | | Merge pull request #13528 from jonleighton/maintain_test_schemaJon Leighton2014-01-0217-58/+173
|\ \ \ \ | | | | | | | | | | Automatically maintain test database schema
| * | | | Automatically maintain test database schemaJon Leighton2014-01-0217-58/+173
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move check from generated helper to test_help.rb, so that all applications can benefit * Rather than just raising when the test schema has pending migrations, try to load in the schema and only raise if there are pending migrations afterwards * Opt out of the check by setting config.active_record.maintain_test_schema = false * Deprecate db:test:* tasks. The test helper is now fully responsible for maintaining the test schema, so we don't need rake tasks for this. This is also a speed improvement since we're no longer reloading the test database on every call to "rake test".
* / / / Reverse 821525e and wrap run_generator callAndrew White2014-01-022-4/+14
|/ / / | | | | | | | | | | | | | | | Ruby 2.1.0 includes the json gem 1.8.1 by default so we need bundler 1.5.1 for `bundle install` to work. To fix this reverse the downgrade to 1.3.5 and wrap the `run_generator` call with a block that resets `THOR_DEBUG`.
* | | Adding missing requireRafael Mendonça França2014-01-021-0/+1
| | |
* | | Enable fast_finish in the travis configurationRafael Mendonça França2014-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | Since rbx and jruby builds are being allowed to fail lets receive the build information early enabling this option See http://about.travis-ci.org/blog/2013-11-27-fast-finishing-builds/
* | | Merge pull request #13569 from schneems/schneems/default-url-sub-keyRafael Mendonça França2014-01-0111-12/+26
|\ \ \ | | | | | | | | Move default production database to URL sub key
| * | | Move default production database to URL sub keyschneems2014-01-0111-12/+26
| | | | | | | | | | | | | | | | By using the URL sub key in the `database.yml` by default we are exposing the ability to set other attributes such as `pool` or `reap_frequency` without need of modifying the URL to contain non-connection specific information.
* | | | Downgrade bundler until 1.5.2 is availableAndrew White2014-01-011-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bundler sets the THOR_DEBUG environment variable causing Thor to re-raise exceptions on exit. This is breaking the railties tests for generators where we are trying to capture error output. The PR bundler/bundler#2794 fixes this by adding a per-instance config `:debug` but this has not been released yet so to prevent errors going unnoticed downgrade bundler to 1.3.5 until such a time that 1.5.2 has been released.
* | | Merge pull request #13542 from robin850/issue-13530Rafael Mendonça França2014-01-013-3/+21
|\ \ \ | | | | | | | | | | | | Fix enum writers when using integers
| * | | Improve enum documentationRobin Dupret2014-01-011-1/+6
| | | | | | | | | | | | | | | | | | | | Add a mention about the automatic generation of scopes based on the allowed values of the field on the enum documentation.
| * | | Fix the enums writer methodsRobin Dupret2014-01-013-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the writer methods would simply check whether the passed argument was the symbol representing the integer value of an enum field. Therefore, it was not possible to specify the numeric value itself but the dynamically defined scopes generate where clauses relying on this kind of values so a chained call to a method like `find_or_initialize_by` would trigger an `ArgumentError`. Reference #13530
* | | | Add CHANGELOG entry for #13557 [ci skip]Rafael Mendonça França2014-01-012-1/+4
| | | |
* | | | Merge pull request #13557 from gmarik/patch-1Rafael Mendonça França2014-01-012-1/+18
|\ \ \ \ | | | | | | | | | | | | | | | Use `Array#wrap` instead `Array()`
| * | | | add test casegmarik2013-12-311-0/+17
| | | | |
| * | | | Use `Array#wrap` instead `Array()`gmarik2013-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | - since `Array()` calls `to_ary` or `to_a` on a subject - the intent is to 'wrap' subject into an array
* | | | | Removed elipsis indicating that the reader should have more code than what ↵Mo Omer2014-01-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is pasted. [ci skip]
* | | | | Make explicit that the view file need to be created [ci skip]Rafael Mendonça França2014-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | Closes #13566
* | | | | Do not highlight rake routes output as ruby code [ci skip]Rafael Mendonça França2014-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | Closes #13565
* | | | | Don't lazy load the tzinfo libraryAndrew White2014-01-012-19/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lazy loading the tzinfo library doesn't really buy us anything because the gem is installed as a dependency via the gemspec and if a developer is using Active Support outside of Rails then they can cherry pick which files to load anyway. Fixes #13553
* | | | | Merge pull request #13563 from vipulnsward/2014-is-hereLauro Caetano2014-01-0114-14/+14
|\ \ \ \ \ | | | | | | | | | | | | 2014 is here.
| * | | | | update copyright notices to 2014. [ci skip]Vipul A M2014-01-0114-14/+14
|/ / / / /
* | | | | Improve the tests to not call assert_nothing_raisedRafael Mendonça França2014-01-011-4/+1
| | | | |
* | | | | Merge pull request #13550 from vipulnsward/13437-fixRafael Mendonça França2014-01-013-1/+22
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for #13437 Conflicts: activerecord/CHANGELOG.md
| * | | | | https://github.com/rails/rails/commit/2075f39d726cef361170218fd16421fc52bed5 ↵Vipul A M2013-12-313-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a8 introduced a regression in includes/preloades by calling `read_attribute` on an association when preloading takes places, instead of using loaded records in `association.target`. tl;dr Records are not made properly available via `read_attribute` when preloding in simultaneous, but value of `@loaded` is already set true, and records concatenated in `association.target` on an association object. When `@loaded` is true we return an object of `AlreadyLoaded` in preload_for. In `AlreadyLoaded` to return preloaded records we make wrong use of `read_attribute`, instead of `target` records. The regression is fixed by making use of the loaded records in `association.target` when the preloading takes place. Fixes #13437