-
Notifications
You must be signed in to change notification settings - Fork 0
A ridiculously simple Ruby on Rails plugin for loading concerns under app/concerns (similar to plugins but not reused across applications)
License
peter/concerns
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Concerns ======== The idea with this plugin is that you have a RAILS_ROOT/app/concerns directory containing subdirectories where each sub directory represents a certain concern or aspect of your application. A concern may be implemented with code that spans across several parts of the MVC architecture. For example, you may have a few controller and helper methods related to accepting the terms of service of your website and you want to collect all those methods in one place. You would then create a terms_of_service directory in the concerns directory with an init.rb file in it. The goal here is to make the application code base more modularized. The difference between concerns and plugins is that concerns are application specific and are not intended for reuse across applications. Concerns are typically closely tied to your application. Example ======= You might have the file app/concerns/terms_of_service/init.rb with something like this: module TermsOfService module ControllerMethods def terms_accepted(options = {}) ... implementation of method here ... end end module HelperMethods def terms_of_service_checkbox(options = {}) ... implementation of method here ... end end end ::ActionController::Base.send(:include, TermsOfService::ControllerMethods) ::ActionView::Base.send(:include, TermsOfService::HelperMethods) Copyright (c) 2008 Peter Marklund, released under the MIT license
About
A ridiculously simple Ruby on Rails plugin for loading concerns under app/concerns (similar to plugins but not reused across applications)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published