aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Raise MissingAttributeError on query methodsErnie Miller2012-09-081-1/+1
| | | | | | | | | | | | | When calling a query method on an attribute that was not selected by an ActiveRecord query, an ActiveModel::MissingAttributeError is not raised. Instead, a nil value is returned, which will return false once cast to boolean. This is undesirable, as we should not give the impression that we know the attribute's boolean value when we haven't loaded the attribute's (possibly) non-boolean value from the database. This issue is present on versions going back as far as 2.3, at least.
* Refactor nested attributes limit logic to lookup :limit option only onceCarlos Antonio da Silva2012-09-081-11/+12
|
* Dump schema using new style hashKonstantin Shabanov2012-09-082-14/+14
|
* Merge pull request #7545 from senny/7518_postgres_type_detectionAaron Patterson2012-09-071-1/+1
|\ | | | | postgres, map scaled intervals to string datatype
| * postgres, map scaled intervals to string datatype (#7518)Yves Senn2012-09-061-1/+1
| |
* | Minor refactor in ActiveRecord#initialize_dupCarlos Antonio da Silva2012-09-073-12/+4
| | | | | | | | | | | | * There is no need to delete the primary key from cloned attributes, since it sets the same pk to nil afterwards. * Check for empty? instead of any? to run initialize callbacks.
* | create a transaction object and point AR objects at that object during aAaron Patterson2012-09-074-12/+55
| | | | | | | | transaction.
* | Merge pull request #4976 from kreynolds/fix_eager_without_pkeyJon Leighton2012-09-071-1/+1
|\ \ | | | | | | Fix eagerly loading associations without primary keys
| * | Fix eagerly loading associations without primary keysKelley Reynolds2012-02-091-1/+1
| | |
* | | add mini-validator on creating migrationJan Bernacki2012-09-061-0/+9
| |/ |/| | | | | move validation to AR
* | ActiveRecord support to PostgreSQL 9.2 JSON typeDickson S. Guedes2012-09-055-3/+44
| | | | | | | | | | | | | | | | | | This implements the support to encode/decode JSON data to/from database and creating columns of type JSON using a native type [1] supported by PostgreSQL from version 9.2. [1] http://www.postgresql.org/docs/9.2/static/datatype-json.html
* | Merge pull request #7532 from al2o3cr/fix_store_bugsRafael Mendonça França2012-09-051-2/+3
|\ \ | | | | | | correct handling of changes in AR::Store, combine multiple store_accessors
| * | correctly flag changed attributes in AR::Store, combine multiple calls to ↵Matt Jones2012-09-051-2/+3
| | | | | | | | | | | | store_accessor
* | | Merge pull request #7536 from pivotal/fix_pluck_with_reserved_wordsRafael Mendonça França2012-09-051-1/+1
|\ \ \ | | | | | | | | Fix pluck when columns/tables are reserved words.
| * | | Fix pluck when columns/tables are reserved words.Ian Lesperance2012-09-051-1/+1
| | | |
* | | | Merge pull request #7525 from ↵Rafael Mendonça França2012-09-051-4/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | seamusabshere/use-mysql-binary-for-rake-db-structure-load Use the 'mysql' binary for 'rake db:structure:load'
| * | | Use the 'mysql' binary for 'rake db:structure:load'.Seamus Abshere2012-09-051-4/+8
| |/ / | | | | | | | | | The previous implementation had the strange requirement that db/structure.sql contain only CREATE TABLE sql statements, one per table, separated by double newlines. SQLite3 and PostgreSQL database tasks, on the other hand, simply spawn 'sqlite3' and 'psql' binaries to load the file directly. The new implementation follows this and attempts to respect all current MySQL configuration settings.
* | | Merge pull request #7337 from adzap/string_to_dummy_timeRafael Mendonça França2012-09-051-1/+7
|\ \ \ | | | | | | | | Fix for time type columns with invalid time value
| * | | Fix for time type columns with invalid timeAdam Meehan2012-09-051-1/+7
| |/ / | | | | | | | | | | | | | | | The string_to_dummy_time method was blindly parsing the dummy time string with Date._parse which returns a hash for the date part regardless of whether the time part is an invalid time string.
* | | Merge pull request #7447 from etehtsea/postgresql-adapterRafael Mendonça França2012-09-056-985/+1038
|\ \ \ | |/ / |/| | Modularize postgresql adapter
| * | Modularize postgresql adapterKonstantin Shabanov2012-09-056-985/+1038
| | |
* | | set the configured #inheritance_column on #become (#7503)Yves Senn2012-09-031-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had to create a new table because I needed an STI table, which does not have both a "type" and a "custom_type" the test fails with: 1) Error: test_alt_becomes_works_with_sti(InheritanceTest): NoMethodError: undefined method `type=' for #<Cabbage id: 1, name: "my cucumber", custom_type: "Cucumber"> /Users/username/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:432:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:100:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/persistence.rb:165:in `becomes' test/cases/inheritance_test.rb:134:in `test_becomes_works_with_sti' test/cases/inheritance_test.rb:140:in `test_alt_becomes_works_with_sti'
* | Avoid #fetch for non-nil values.Jon Leighton2012-08-311-1/+2
| | | | | | | | | | | | This is purely a performance optimisation. See https://gist.github.com/3552829
* | Key the attributes hash with symbolsJon Leighton2012-08-313-7/+12
| | | | | | | | | | | | | | | | This is a performance/GC optimisation. In theory, this could be optimised by the implementation (last time I checked, this would have no effect on JRuby). But in practise, this make attribute access faster.
* | Cache the connection pool for a given classJon Leighton2012-08-311-20/+35
| |
* | One hash is enoughJon Leighton2012-08-312-18/+14
| | | | | | | | We don't need separate @class_to_pool and @connection_pool hashes.
* | Refactor connection handlerJon Leighton2012-08-311-22/+14
| |
* | Make connection pool retrieval fasterJon Leighton2012-08-312-11/+14
| | | | | | | | | | | | * Loop rather than recurse in retrieve_connection_pool * Key the hash by class rather than class name. This avoids creating unnecessary strings.
* | Merge pull request #7481 from joliss/typoVijay Dev2012-08-301-3/+3
|\ \ | | | | | | Fix grammar
| * | Fix grammarJo Liss2012-08-301-3/+3
| | |
* | | documents after_(commit|rollback)Xavier Noria2012-08-301-0/+18
|/ /
* | Use verify_readonly_attribute in the update_columns methodRafael Mendonça França2012-08-251-1/+1
| |
* | Revert "Remove private verify readonly attr method"Rafael Mendonça França2012-08-251-1/+5
| | | | | | | | This reverts commit 7a8aee08b610f6edbfe5be076dc14e5cdcf1355e.
* | Revert "Remove update_attribute."Rafael Mendonça França2012-08-252-6/+20
| | | | | | | | | | | | | | | | | | | | | | This reverts commit a7f4b0a1231bf3c65db2ad4066da78c3da5ffb01. Conflicts: activerecord/lib/active_record/associations/has_one_association.rb activerecord/lib/active_record/persistence.rb activerecord/test/cases/base_test.rb activerecord/test/cases/dirty_test.rb activerecord/test/cases/timestamp_test.rb
* | allow to pass Symbol or Proc into :limit option of ↵Mikhail Dieterle2012-08-261-3/+13
| | | | | | | | #accepts_nested_attributes_for
* | use Hash#fetch to eliminate conditionalAaron Patterson2012-08-241-8/+3
| |
* | call methods on AR::Model after ClassMethods module is definedAaron Patterson2012-08-241-1/+2
| |
* | Extract ActiveRecord::SessionStore from RailsPrem Sichanugrist2012-08-245-427/+0
| | | | | | | | | | This functionality will be available from gem `active_record-session_store` instead.
* | ivar will always be defined, so stop checkingAaron Patterson2012-08-231-3/+1
| |
* | Model.select takes a variable list of arguments.Isaac Sanders2012-08-231-11/+12
| | | | | | | | | | | | This is a cleaner version of #6916. Closes #3165.
* | Update the documentation for the :autosave optionDavid Celis2012-08-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | I've noticed a caveat with the :autosave option biting people before. Questions arise about why they must explicitly save an associated object in their own before_save callbacks. I've updated the documentation as such to note to users that the :autosave callback occurs before any user defined callbacks. They must save the associated record themselves if altering it in their own callbacks. Signed-off-by: David Celis <david@davidcelis.com>
* | Merge pull request #6606 from amatsuda/ar_relation_model_methodRafael Mendonça França2012-08-211-0/+1
|\ \ | | | | | | AR::Relation#model would be a better API than AR::Relation#klass
| * | AR::Relation#model would be a better API than AR::Relation#klassAkira Matsuda2012-06-031-0/+1
| | |
* | | Get rid of config.preload_frameworks in favor of config.eager_load_namespacesJosé Valim2012-08-212-0/+12
| | | | | | | | | | | | | | | | | | | | | The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
* | | reset_counters() was crashing when there were multiple belongs_to ↵Dave Desrochers2012-08-211-1/+1
| | | | | | | | | | | | | | | | | | associations with the same foreign key. This closes #5200.
* | | Refactor AR::Result or inherits. Because we have redundant codes aboutkennyj2012-08-223-18/+4
| | |
* | | Use instance_accessor: false instead of instance_writer.kennyj2012-08-213-4/+14
| | |
* | | Round usec when writing timestamp attribute.kennyj2012-08-211-5/+14
| | |
* | | Minor refactoring in Active Record model schema methodsCarlos Antonio da Silva2012-08-211-5/+3
| | | | | | | | | | | | | | | | | | * Use each_key instead of generating intermediate keys array. * Use each_with_object instead of inject to build hash. * Use ternary to return instead of if + assignment.
* | | initialize instance variables for transactions to remove conditionalsAaron Patterson2012-08-202-8/+7
| | |