Hemant Kumar
20c35bca5a
fix yield not working from around filter of observers, fixes Github#329
2011-05-07 03:03:41 +05:30
Kamal Fariz Mahyuddin
6ba8caf3ee
Fix observer callbacks firing multiple times on descendant instances
2011-02-22 16:25:19 -08:00
Aaron Patterson
0e8280b193
reuse the superclass methods for shorter codes
2010-12-09 13:48:37 -08:00
Aaron Patterson
b2a042570c
just use core methods
2010-12-09 13:48:37 -08:00
Robert Pankowecki (Gavdi)
bba3dacc3d
Simplifies observer implementation [ #6065 state:resolved]
2010-12-09 10:41:43 -08:00
Jaime Iniesta
5430f5bd06
lifecycle should be two words, life cycle
2010-08-26 14:23:58 +02:00
Santiago Pastorino
b451de0d6d
Deletes trailing whitespaces (over text files only find * -type f -exec sed 's/[ \t]*$//' -i {} \;)
2010-08-14 04:12:33 -03:00
Prem Sichanugrist
a7eb8d97a4
Removing most of the symbol to proc usage in Active Record
...
This will hopefully make Active Record run a bit more faster.
2010-08-13 16:24:49 -07:00
Neeraj Singh
1ce40ca562
ensuring that description does not exceed 100 columns
2010-08-02 12:25:26 -04:00
Benjamin Quorning
7e075e6247
Fixed many references to the old config/environment.rb and Rails::Initializer
2010-07-13 13:00:21 +02:00
José Valim
a5dda97602
Define a convention for descendants and subclasses.
...
The former should be symmetric with ancestors and include all children. However, it should not include self since ancestors + descendants should not have duplicated. The latter is symmetric to superclass in the sense it only includes direct children.
By adopting a convention, we expect to have less conflict with other frameworks, as Datamapper. For this moment, to ensure ActiveModel::Validations can be used with Datamapper, we should always call ActiveSupport::DescendantsTracker.descendants(self) internally instead of self.descendants avoiding conflicts.
2010-07-05 13:01:27 +02:00
Xavier Noria
207fa59675
Merge remote branch 'rails/master'
...
Conflicts:
actionpack/lib/abstract_controller/base.rb
2010-06-20 23:13:19 +02:00
José Valim
033e0a041f
ActiveRecord and ActionPack now use the new descendants implementation.
2010-06-19 17:15:21 +02:00
Rizwan Reza
d8277804b2
Adds title and minor changes.
2010-06-16 22:08:14 +04:30
José Valim
b67ec8ba20
class_attribute is not a direct replacement of class_inheritable_*.
...
If you are setting a hash or an array in class_attribute or you need
to freeze it, to ensure people won't modify it in place or you need
to dup it on inheritance.
2010-06-10 19:39:09 +02:00
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
Jeremy Kemper
e5ab4b0d07
Convert to class_attribute
2010-02-01 02:02:42 -08:00
José Valim
4f37b97033
Changed ActiveRecord to use new callbacks and speed up observers by only notifying events that are actually being consumed.
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-09-08 10:26:39 -05:00
Joshua Peek
4d70359200
Integrate ActiveModel::Observing into ActiveRecord
2009-06-10 23:36:44 -05:00
Joshua Peek
4e50a35fa2
Break up DependencyModule's dual function of providing a "depend_on" DSL and "included" block DSL into separate modules. But, unify both approaches under AS::Concern.
2009-05-28 11:35:36 -05:00
Bryan Helmkamp
a2875bec9a
Use DependencyModule for included hooks in ActiveRecord
2009-05-11 22:23:47 -04:00
George Ogata
e8fc894f66
Make observers define #after_find in the model only if needed.
...
[#676 state:resolved]
Signed-off-by: Michael Koziarski <michael@koziarski.com >
2008-07-26 16:26:08 +02:00
Stefan Kaes
fbef982e4b
Observers not longer add an after_find method to the observed class.
...
[#625 state:resolved]
2008-07-15 16:48:16 -07:00
George Ogata
bc4a2f156b
Fix observers that use after_find. [ #375 state:resolved]
...
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2008-06-17 19:45:18 +01:00
Pratik Naik
98dc582742
Merge docrails.
...
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2008-05-25 12:29:00 +01:00
Jeremy Kemper
23e58a0552
Fix observed_class. References #11099 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8889 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-17 22:52:55 +00:00
Michael Koziarski
f3fd2b18b7
Add test for Observer#observer_class and change the implementation slightly. Closes #11099 [ernesto.jimenez]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8875 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-15 23:09:51 +00:00
Rick Olson
5ef2b089f0
Reshuffle load order so that routes and observers are initialized after plugins and app initializers. Closes #10980 [rick, fxn]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8787 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-02-02 20:18:18 +00:00
Jeremy Kemper
7e56c72fae
observed_subclasses gives [] if there are no observed classes
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8602 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-09 01:33:15 +00:00
Jeremy Kemper
750f15bc26
Ruby 1.9 compat: Class#subclasses is now protected
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8478 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-22 04:50:12 +00:00
Rick Olson
f56dd107cd
Observers can observe model names as symbols properly now. Closes #9869 [queso]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7872 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-14 05:20:24 +00:00
David Heinemeier Hansson
e38ad5ddcc
Added the possibility of using symbols in addition to concrete classes with ActiveRecord::Observer#observe #3998 [robbyrussell/tarmo]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7539 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-22 17:05:15 +00:00
Jeremy Kemper
e6941149ab
Deprecation: removed Reloadable.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7473 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-14 00:25:59 +00:00
David Heinemeier Hansson
08d23d5375
Allow sweepers to be created solely for expiring after controller actions, not model changes [DHH] Added assigns method to ActionController::Caching::Sweeper to easily access instance variables on the controller [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7128 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-26 20:45:41 +00:00
Rick Olson
52547f5331
Add an attribute reader method for ActiveRecord::Base.observers [Rick Olson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5211 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-30 01:37:07 +00:00
Rick Olson
69266a063b
Remove ActiveRecord::Base.reset since Dispatcher doesn't use it anymore. [Rick Olson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4743 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-09 16:54:36 +00:00
Nicholas Seckar
74165eb6ac
New dependencies implementation
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4728 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-08 21:21:04 +00:00
Rick Olson
e8f0b1ddd9
Refactor ActiveRecord::Base.reset_subclasses to #reset, and add global observer resetting. [Rick Olson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4683 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-06 02:08:29 +00:00
Jeremy Kemper
6a1a1e5536
r4738@asus: jeremy | 2006-06-29 20:18:43 -0700
...
Observers also watch subclasses created after they are declared. Closes #5535 .
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4521 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-30 04:38:24 +00:00
Marcel Molina
6186490962
Replace Ruby's deprecated append_features in favor of included. [Marcel Molina Jr.]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4310 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-29 18:10:14 +00:00
David Heinemeier Hansson
a4c6442612
More docs for observers ( closes #3996 ) [Robby Russel]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3744 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-02 03:02:51 +00:00
David Heinemeier Hansson
5cbc062c8a
Just go with Subclasses instead of OnlySubclasses
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3534 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 16:26:55 +00:00
Nicholas Seckar
1bce58b312
Add Reloadable::OnlySubclasses which handles the common case where a base class should not be reloaded, but its subclasses should be.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3521 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-02 05:41:00 +00:00
David Heinemeier Hansson
01b1a87729
Added reusable reloading support through the inclusion of the Relodable module that all subclasses of ActiveRecord::Base, ActiveRecord::Observer, ActiveController::Base, and ActionMailer::Base automatically gets [DHH]. Added auto-loading support for classes in modules, so Conductor::Migration will look for conductor/migration.rb and Conductor::Database::Settings will look for conductor/database/settings.rb [Nicholas Seckar]. Refactored extensions to module, class, and object in active support [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3493 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-29 00:37:39 +00:00
Marcel Molina
0ba5bd583b
Update documentation for observers to reflect new configuration system.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2766 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-27 16:06:04 +00:00
David Heinemeier Hansson
6720efb8e3
Use assignment instead of call
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2329 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-25 08:50:47 +00:00
David Heinemeier Hansson
7f86e026f6
Use assignment instead of call
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2327 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-25 08:48:30 +00:00
David Heinemeier Hansson
948be2c998
Added new symbol-driven approach to activating observers with Base#observer [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-25 08:26:29 +00:00
David Heinemeier Hansson
6f95c49a15
Fixed that Observers didn't observe sub-classes #627 [Florian Weber]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2263 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-19 16:34:34 +00:00
David Heinemeier Hansson
ea803aa4e3
Doc changes
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1141 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-10 17:47:04 +00:00