Module: Waves::Layers::MVC
- Defined in:
- lib/layers/mvc.rb
Overview
The MVC layer establishes the Models, Views, Controllers, and Helpers namespaces inside a Waves application. In each namespace, undefined constants are handled by AutoCode, which loads the constant from the correct file in the appropriate directory if it exists, or creates from default otherwise.
Class Method Summary collapse
Class Method Details
.included(app) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/layers/mvc.rb', line 9 def self.included( app ) def app.models ; self::Models ; end def app.views ; self::Views ; end def app.controllers ; self::Controllers ; end def app.helpers ; self::Helpers ; end app.auto_create_module( :Models ) do include AutoCode auto_create_class :Default auto_load :Default, :directories => [:models] end app.auto_eval( :Models ) do auto_create_class true, app::Models::Default auto_load true, :directories => [ :models ] end app.auto_create_module( :Views ) { include AutoCode } app.auto_eval( :Views ) do auto_create_class :Default, Waves::Views::Base auto_load :Default, :directories => [:views] auto_create_class true, app::Views::Default auto_load true, :directories => [ :views ] end app.auto_create_module( :Controllers ) { include AutoCode } app.auto_eval( :Controllers ) do auto_create_class :Default, Waves::Controllers::Base auto_load :Default, :directories => [:controllers] auto_create_class true, app::Controllers::Default auto_load true, :directories => [ :controllers ] end app.auto_create_module( :Helpers ) do include AutoCode auto_create_module { include Waves::Helpers::Default } auto_load true, :directories => [ :helpers ] end end |