0
@@ -8,24 +8,10 @@ module Waves
0
def self.included( app )
0
- def app.models ; self::Models ; end
0
- def app.views ; self::Views ; end
0
- def app.controllers ; self::Controllers ; end
0
- def app.helpers ; self::Helpers ; end
0
- unless ResponseMixin.public_instance_methods.include? 'model'
0
- Waves::ResponseMixin.module_eval do
0
- [ :model, :view, :controller ].each do | k |
0
- functor( k, Object ) { | name | Waves.application.send( k, name.to_s ) }
0
- functor( k, Object, Object ) { | app, name | Waves.applications[ app.to_s ].send( k, name.to_s ) }
0
app.auto_create_module( :Models ) do
0
auto_create_class :Default
0
- auto_load :Default, :directories => [
:models]
0
+ auto_load :Default, :directories => [
:models ]
0
app.auto_eval( :Models ) do
0
@@ -33,41 +19,60 @@ module Waves
0
auto_load true, :directories => [ :models ]
0
- app.auto_create_module( :Views ) { include AutoCode }
0
+ app.auto_create_module( :Views ) do
0
+ auto_create_class :Default, Waves::Views::Base
0
+ auto_load :Default, :directories => [ :views ]
0
app.auto_eval( :Views ) do
0
- auto_create_class :Default, Waves::Views::Base
0
- auto_load :Default, :directories => [:views]
0
auto_create_class true, app::Views::Default
0
auto_load true, :directories => [ :views ]
0
- app.auto_create_module( :Controllers ) { include AutoCode }
0
+ app.auto_create_module( :Controllers ) do
0
+ auto_create_class :Default, Waves::Controllers::Base
0
+ auto_load :Default, :directories => [ :controllers ]
0
app.auto_eval( :Controllers ) do
0
- auto_create_class :Default, Waves::Controllers::Base
0
- auto_load :Default, :directories => [:controllers]
0
auto_create_class true, app::Controllers::Default
0
auto_load true, :directories => [ :controllers ]
0
app.auto_create_module( :Helpers ) do
0
- auto_create_module { include Waves::Helpers::Default }
0
+ auto_create_module( :Default ) { include Waves::Helpers::Default }
0
+ auto_load :Default, :directories => [ :helpers ]
0
+ auto_create_module( true ) { include app::Helpers::Default }
0
auto_load true, :directories => [ :helpers ]
0
app.auto_eval :Resources do
0
- const_set( :Default, Class.new( Waves::Resources::Base ) ).module_eval do
0
- def controller ; @controller ||= Waves.application.controllers[ singular ].process( @request ) { self } ; end
0
- def view ; @view ||= Waves.application.views[ singular ].process( @request ) { self } ; end
0
+ auto_create_class :Default, Waves::Resources::Base
0
+ auto_load :Default, :directories => [ :resources ]
0
+ def controller ; @controller ||= controllers[ singular ].process( @request ) { self } ; end
0
+ def view ; @view ||= views[ singular ].process( @request ) { self } ; end
0
def action( method, *args ) ; @data = controller.send( method, *args ) ; end
0
def render( method ) ; view.send( method, ( @data.kind_of?( Enumerable ) ? plural : singular ) => @data ) ; end
0
def method_missing( name, *args, &block) ; params[ name.to_s ] ; end
0
- auto_create_class true, self::Default
0
+ auto_create_class true, app::Resources::Default
0
+ auto_load true, :directories => [ :resources ]
0
+ string_or_symbol = lambda { |arg| arg.kind_of?(String) || arg.kind_of?(Symbol) }
0
+ Waves::ResponseMixin.module_eval do
0
+ [ :models, :controllers, :views, :helpers ].each do |k|
0
+ functor( k ) { app[ k ] }
0
+ functor( k, string_or_symbol ) { |name| app( name )[ k ] }
Comments
No one has commented yet.