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: "usermodel_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: "usermodel_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