Hi guys!
I want to propose the debate to setup the RoR convention for Observers organization.
I search in the forum and found some posts about where put observers, but no "convention" results "as core" on "convention over configuration" paradigm.
Observers for model, sweepers, mailers ... but we can need for instrumentation, notifications, audit ...
Here my proposals:
Proposal A:
NOTE: Considerate include naming sweeper_sufix in the same form as other observer; for example: "/app/controller/sweepers/user_observer.rb", or ""/app/controller/observer/user_observer.rb"
NOTE: Considerate include *_type_observer.rb for suffix to be homogeneous include in sweepers; for example: "user_model_observer.rb", "user_swepper_observer.rb", etc ...
/app/observers
---- /app/models/observers
-------- user_observer.rb
-------- product_observer.rb
---- /app/controllers/sweppers
-------- user_swepper.rb
-------- product_sweeper.rb
---- /app/mailers/observers
------- user_mailer_observer.rb
------- product_mailer_observer.rb
Proposal B:
NOTE: Considerate "*_callback.rb" for suffix to avoid collisions and best differentiate with other observers classes
NOTE: Considerate include *_type_observer.rb for suffix to be homogeneous include in sweepers; for example: "user_model_observer.rb", "user_swepper_observer.rb", etc ...
NOTE: Considerate naming "/app/observers/sweppers" as "/app/observers/controllers"
/app/observers
---- /app/observers/models
-------- user_observer.rb
-------- product_observer.rb
---- /app/observers/sweppers
-------- user_swepper.rb
-------- product_sweeper.rb
---- /app/observers/mailers
------- user_mailer_observer.rb
------- product_mailer_observer.rb
Bests