Commit Graph

3037 Commits

Author SHA1 Message Date
Mislav Marohnić
2161b8745a improve how ActiveRecord::Observer defines callbacks on observed models
Instead of using a single `notify_observers` call for every callback type,
each observer now registers a unique callback for itself. Example:

  before_save :_notify_user_observer_for_before_save

  def _notify_user_observer_for_before_save
    observer.update(:before_save, self)
  end

Benefit: "before" callbacks halt when `observer.update` returns false.
This way, ActiveRecord observers can prevent records from saving.

[#4087 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-04-16 13:12:53 -07:00
Michael Koziarski
5aa58cc03f Split the observer railtie into two phases.
Observers observing models with scopes defined will require the connection to be established.
2010-04-16 09:49:06 +12:00
Xavier Noria
6be04c4631 i18n -> AS/i18n 2010-04-14 02:30:02 -07:00
Xavier Noria
dd635ec701 adds missing requires for arel and i18n, prevents Arel constant from being autoloaded (which was still seen), though it probably hides an issue related to dependencies 2010-04-14 02:01:55 -07:00
Pratik Naik
2ff5f38abb Ensure not to load the entire association when bulk updating existing records using nested attributes 2010-04-14 01:52:29 +01:00
Xavier Noria
0e274639b4 removes unnecessary assignment and local variable in AR::Base#subclasses, and revises its rdoc 2010-04-13 16:11:36 -07:00
Andrew White
9cea9bc7f0 Refactor compute_type to handle situations where the correct class is already loaded
Signed-off-by: wycats <wycats@gmail.com>
2010-04-12 21:31:20 -07:00
Emmanuel Oga
f8eddcc735 make ActiveRecord::Base.subclasses a public method
Signed-off-by: wycats <wycats@gmail.com>
2010-04-12 21:20:45 -07:00
Phil Smith
bab1f910c7 table_name_prefix and table_name_suffix are class_attributes instead of cattr_accessors. [#4230]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-04-12 10:59:38 +02:00
Andrew White
788d923893 Generate module file for namespaced models [#4230 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-04-12 10:57:27 +02:00
Aaron Patterson
ecf039fc05 mode postgresql adapters table_exists? method take the schema in to account. [#4341 state:resolved]
Signed-off-by: wycats <wycats@gmail.com>
2010-04-11 14:53:24 -07:00
Jeremy Kemper
6d29f9789e Fix evals missing context 2010-04-10 22:39:10 -07:00
Jeremy Kemper
86dda361e2 Avoid deprecated String#to_a by using Array.wrap(...) instead of Array(...) 2010-04-10 22:37:36 -07:00
Aaron Patterson
61355c0e24 clearing up many warnings, removing unnecessary regular expresion comparisons [#4365 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-04-10 22:13:42 -07:00
José Valim
ee309d506c Update versions (otherwise you install a gem from source as beta3 but internally it's beta2) and update CHANGELOG. 2010-04-10 12:17:34 +02:00
Santiago Pastorino
13e00ce606 fix stack trace lines on class_eval
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-04-09 21:28:49 +02:00
Santiago Pastorino
808847792c db:test:prepare for tasks only if AR is loaded 2010-04-09 16:03:27 +12:00
Michael Koziarski
1e3dce08e1 Revert "When creating database with rake, create schemas in schema_search_path if it doesn't exist."
This reverts commit 6c2a0675f11a9b5b8e88ed7dbccd65cb51be8029.

Reverting because it breaks the ability to run tests using a non-superuser.

Conflicts:

	activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
	activerecord/lib/active_record/railties/databases.rake
2010-04-09 11:30:40 +12:00
Kristopher Murata
36129f21b8 Dirty datetime attributes should be aware of time zone info [#3658 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-04-08 10:26:16 -07:00
Pratik Naik
2c27e3d336 Some doc updates reflecting the new query API 2010-04-08 16:49:52 +01:00
Pratik Naik
48634bf59a Reset named scope cache whenever the @target is reset 2010-04-07 01:16:45 +01:00
Simon Effenberg
4f1d0f6b7e remove_index now uses quote_table_name() [#4300 state:resolved]
Signed-off-by: Michael Koziarski <michael@koziarski.com>
2010-04-06 14:15:57 +12:00
Pratik Naik
1f7b4447a9 Memoize association.named_scope calls 2010-04-05 21:55:24 +01:00
Xavier Noria
89978f10af moves Object#singleton_class to Kernel#singleton_class to match Ruby also there, same for #class_eval to simplify, and adds coverage for class_eval 2010-04-05 12:15:08 -07:00
Andrew White
00884a5901 Merge branch 'master' of github.com:lifo/docrails 2010-04-04 17:34:23 +01:00
Andrew White
48b2451142 Update various documentation examples to use new routing DSL 2010-04-04 17:34:13 +01:00
Xavier Noria
11161e6c96 Merge commit 'rails/master' 2010-04-03 10:56:15 -07:00
Carl Lerche
467d251c3d Bring back +extra_conditions+. This effectively reverts 386b7bfd9d78a6d8c8bc7cc4a310df806ad0ba57 2010-04-03 09:54:15 -07:00
Carl Lerche
6e18fa0375 Raise a StatementInvalid error when trying to build a condition with hash keys that do not correspond to columns. 2010-04-03 09:22:00 -07:00
Carl Lerche
52ffaa182e Sanitize association conditions using the correct class 2010-04-03 09:22:00 -07:00
Carl Lerche
13004d4f84 Make the query built by has_many ...., :dependent => :____ lazy since all the information is not really available yet. 2010-04-02 22:33:57 -07:00
Carl Lerche
386b7bfd9d Remove an unused argument 2010-04-02 20:13:09 -07:00
Pratik Naik
c6372d6049 Improve scope docs 2010-04-03 01:49:01 +01:00
Pratik Naik
41a2ba652a Improve named scope lambda 2010-04-03 01:35:43 +01:00
Pratik Naik
684e4d39d6 Remove unnecessary argument for creating scopes 2010-04-03 01:35:43 +01:00
Pratik Naik
13eb2c87e6 Make Relation#inspect less noisy 2010-04-02 18:57:46 +01:00
Pratik Naik
cfa283201e Goodbye ActiveRecord::NamedScope::Scope 2010-04-02 18:57:46 +01:00
Pratik Naik
62fe16932c Make Relation#first and Relation#last behave like named scope's 2010-04-02 18:57:46 +01:00
Pratik Naik
ee07950c03 Scope#method_missing can safely rely on Relation#method_missing 2010-04-02 18:57:45 +01:00
Pratik Naik
0be31f8563 Scope#current_scoped_methods_when_defined is no longer needed 2010-04-02 18:57:45 +01:00
Pratik Naik
83ebe6224f Oops :extends is not a MULTI_VALUE_METHOD 2010-04-02 17:39:47 +01:00
Pratik Naik
b77dd218ce Add Relation extensions 2010-04-02 17:38:02 +01:00
Pratik Naik
bc7da9b77d Consistency when using Relation constants 2010-04-02 17:38:02 +01:00
Rizwan Reza
0dd3eac967 Merge branch 'master' of git://github.com/rails/rails 2010-04-02 14:57:30 +04:30
David Heinemeier Hansson
d868cb4f8a Prep for beta2, depend on latest Bundler 2010-04-01 13:36:45 -07:00
Doug Richardson
e8292abbcd Read postgresql encoding using string key instead of symbol [#4304 state:resolved]
Signed-off-by: wycats <wycats@gmail.com>
2010-04-01 08:36:57 -07:00
Ernie Miller
ccf8311123 Fix mapping of bigint/smallint/uuid columns in postgresql adapter.
Signed-off-by: Emilio Tagua <miloops@gmail.com>
2010-03-31 19:22:44 -03:00
Xavier Noria
824fa10f4d Merge commit 'rails/master' 2010-03-31 07:47:58 -07:00
Pratik Naik
5562abb4e9 Dont try to load the record from the db if preloading didn't find anything 2010-03-31 12:56:09 +01:00
Emilio Tagua
8d99ec9a4d Named scopes shouldn't test equality using to_a if it's not an Array, this was causing records to be loaded before they were needed.
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-03-30 15:36:18 +02:00