public
Rubygem
Description: Resource-oriented open source Ruby framework for Web apps.
Homepage: http://rubywaves.com/
Clone URL: git://github.com/dyoder/waves.git
Search Repo:
trying to refit for new autocode
automatthew (author)
Wed May 14 10:29:29 -0700 2008
commit  b494e867a1d4c27b73c3bed93ccdad9b0e427a33
tree    741d653bff32e49a2cf95b6e1434ef7fe49b61e5
parent  c153e5da5f90bf6ea207940a7cc4a2fc767ab994
...
2
3
4
 
 
 
 
 
5
6
7
...
26
27
28
29
 
30
31
32
...
2
3
4
5
6
7
8
9
10
11
12
...
31
32
33
 
34
35
36
37
0
@@ -2,6 +2,11 @@
0
 require 'rubygems'
0
 require 'choice'
0
 require 'rakegen'
0
+begin
0
+ require 'utilities/string'
0
+rescue LoadError
0
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'utilities', 'string')
0
+end
0
 
0
 Choice.options do
0
   banner 'Usage: waves path/to/app [-h]'
0
@@ -26,7 +31,7 @@
0
 generator = Rakegen.new("waves:app") do |gen|
0
   gen.source = template
0
   gen.target = app_path
0
- gen.template_assigns = {:name => app_namee}
0
+ gen.template_assigns = {:name => app_name.camel_case}
0
   gen.executables = %w{ bin/waves-console bin/waves-server}
0
 end
0
 
...
2
3
4
5
 
6
7
8
...
2
3
4
 
5
6
7
8
0
@@ -2,7 +2,7 @@
0
 
0
 Waves is ... Full-featured and thread-safe. Compact and extensible. Configuration and convention. RESTful but also Magical (very important).
0
 
0
-Waves is powered by ... Rack and Mongrel (HTTP server), Sequel or Filebase (storage), Autocode (code reloading), LiveConsole (hot patching).
0
+Waves is powered by ... Rack and Mongrel (HTTP server), Sequel or Filebase (storage), AutoCode (code reloading), LiveConsole (hot patching).
0
 
0
 Main Web Site
0
 http://rubywaves.com/
...
10
11
12
13
14
15
16
17
18
 
19
20
21
...
10
11
12
 
 
 
 
 
 
13
14
15
16
0
@@ -10,12 +10,7 @@
0
           include Waves::Layers::Simple
0
           include Waves::Layers::DefaultErrors
0
           include Waves::Layers::MVC
0
- include Waves::Layers::ORM::Sequel
0
-
0
- # Set autoloading from default.rb files
0
- #autoinit :Configurations do
0
- # autoload_class true
0
- #end
0
+ # include Waves::Layers::ORM::Sequel
0
           
0
         end
0
         
...
6
7
8
9
10
11
12
 
 
 
 
 
 
 
 
 
13
14
15
16
17
18
19
...
6
7
8
 
 
 
 
9
10
11
12
13
14
15
16
17
18
 
 
 
19
20
21
0
@@ -6,14 +6,16 @@
0
 
0
         app.instance_eval do
0
 
0
- autoinit 'Configurations::Mapping' do
0
- handle(Waves::Dispatchers::NotFoundError) do
0
- html = Waves.application.views[:errors].process( request ) do
0
- not_found_404( :error => Waves::Dispatchers::NotFoundError )
0
+ auto_eval :Configurations do
0
+ auto_eval :Mapping do
0
+ handle(Waves::Dispatchers::NotFoundError) do
0
+ html = Waves.application.views[:errors].process( request ) do
0
+ not_found_404( :error => Waves::Dispatchers::NotFoundError )
0
+ end
0
+ response.status = '404'
0
+ response.content_type = 'text/html'
0
+ response.write( html )
0
               end
0
- response.status = '404'
0
- response.content_type = 'text/html'
0
- response.write( html )
0
             end
0
           end
0
 
...
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
...
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
0
@@ -11,31 +11,31 @@
0
         
0
 
0
         app.instance_eval do
0
- include Autocode
0
+ # include AutoCode
0
 
0
- autocreate( :Models, Module.new) do
0
- include Autocode
0
- autocreate_class
0
- autoload_class
0
+ auto_create_module( :Models ) do
0
+ include AutoCode
0
+ auto_create_class true
0
+ auto_load true, :directories => [:models]
0
           end
0
 
0
- autocreate( :Views, Module.new) do
0
- include Autocode
0
- autocreate_class true, Waves::Views::Base
0
- autoload_class
0
+ auto_create_module( :Views ) do
0
+ include AutoCode
0
+ auto_create_class true, Waves::Views::Base
0
+ auto_load true, :directories => [:views]
0
           end
0
 
0
- autocreate( :Controllers, Module.new) do
0
- include Autocode
0
- autocreate_class true, Waves::Controllers::Base
0
- autoload_class
0
+ auto_create_module( :Controllers ) do
0
+ include AutoCode
0
+ auto_create_class true, Waves::Controllers::Base
0
+ auto_load true, :directories => [:controllers]
0
           end
0
 
0
- autocreate( :Helpers, Module.new) do
0
- include Autocode
0
- autocreate_module
0
- autoload_module
0
- autoinit :Default do
0
+ auto_create_module( :Helpers ) do
0
+ include AutoCode
0
+ auto_create_module
0
+ auto_load true, :directories => [:helpers]
0
+ auto_eval :Default do
0
               attr_reader :request, :content
0
               include Waves::ResponseMixin
0
               include Waves::Helpers::Common
...
6
7
8
9
10
11
 
 
 
12
13
14
...
6
7
8
 
 
 
9
10
11
12
13
14
0
@@ -6,9 +6,9 @@
0
         
0
         def self.included(app)
0
           app.module_eval
0
- autoinit( :Models ) do
0
- include Autocode
0
- autoinit true { include Filebase::Model[ :db / self.name.snake_case ] }
0
+ auto_eval( :Models ) do
0
+ include AutoCode
0
+ auto_eval true { include Filebase::Model[ :db / self.name.snake_case ] }
0
             end
0
           end
0
         end
...
14
15
16
17
18
 
 
19
20
21
 
22
23
24
...
14
15
16
 
 
17
18
19
20
 
21
22
23
24
0
@@ -14,11 +14,11 @@
0
           
0
           app.instance_eval do
0
             
0
- autoinit :Models do
0
- autocreate_class true, Waves::Layers::ORM::Model do
0
+ auto_eval :Models do
0
+ auto_create_class true, Waves::Layers::ORM::Model do
0
                 set_dataset app.database[ basename.snake_case.plural.intern]
0
               end
0
- autoload_class true, Waves::Layers::ORM::Model
0
+ auto_load true, :directories => [:models]
0
            end
0
             
0
           end
...
4
5
6
7
 
8
9
10
...
4
5
6
 
7
8
9
10
0
@@ -4,7 +4,7 @@
0
       
0
       def self.included(app)
0
         
0
- autoinit "Controllers::Default" do
0
+ auto_eval "Controllers::Default" do
0
           
0
           include Waves::Controllers::Mixin
0
 
...
8
9
10
11
 
12
13
14
15
16
17
 
 
 
 
 
18
19
20
...
8
9
10
 
11
12
 
 
 
 
 
13
14
15
16
17
18
19
20
0
@@ -8,13 +8,13 @@
0
         
0
         app.instance_eval do
0
 
0
- include Autocode
0
+ include AutoCode
0
           
0
- autocreate( :Configurations, Module.new) do
0
- include Autocode
0
- autocreate_class true, Waves::Configurations::Default
0
- autocreate_module( :Mapping ) { extend Waves::Mapping }
0
- autoload_class true, Waves::Configurations::Default
0
+ auto_create_module( :Configurations ) do
0
+ include AutoCode
0
+ auto_create_class true, Waves::Configurations::Default
0
+ auto_create_module( :Mapping ) { extend Waves::Mapping }
0
+ auto_load true, :directories => [:configurations]
0
           end
0
 
0
           include Waves::Layers::SimpleErrors
...
6
7
8
9
10
 
 
 
 
 
 
11
12
13
...
6
7
8
 
 
9
10
11
12
13
14
15
16
17
0
@@ -6,8 +6,12 @@
0
 
0
         app.instance_eval do
0
 
0
- autoinit 'Configurations::Mapping' do
0
- handle(Waves::Dispatchers::NotFoundError) { response.status = 404; response.body = "404 Not Found" }
0
+ auto_eval :Configurations do
0
+ auto_eval :Mapping do
0
+ handle(Waves::Dispatchers::NotFoundError) do
0
+ response.status = 404; response.body = "404 Not Found"
0
+ end
0
+ end
0
           end
0
 
0
         end
...
2
3
4
5
6
 
 
7
8
9
...
2
3
4
 
 
5
6
7
8
9
0
@@ -2,8 +2,8 @@
0
 
0
   module Renderers
0
 
0
- extend Autocode
0
- # autoload :renderers, Class
0
+ extend AutoCode
0
+ # auto_load :renderers, Class
0
 
0
     # The renderers mixin provides a number of methods to simplify writing new renderers.
0
     # Just include this in your Renderer class and write your render method.
...
10
11
12
13
 
14
15
16
...
10
11
12
 
13
14
15
16
0
@@ -10,7 +10,7 @@
0
     # Also, initialize the database connection if necessary.
0
     def << ( app )
0
       @application = app if Module === app
0
- app.database if app.respond_to? 'database'
0
+ # app.database if app.respond_to? 'database'
0
     end
0
 
0
     def instance ; Waves::Application.instance ; end
...
88
89
90
91
 
92
93
 
94
95
96
...
88
89
90
 
91
92
 
93
94
95
96
0
@@ -88,9 +88,9 @@
0
   #
0
   # You can specify a list of modules to reload on each request using the +reloadable+
0
   # configuration parameter. The Waves server will call +reload+ on each module to trigger
0
- # the reloading. Typically, your modules will use the Autocode gem to set parameters for
0
+ # the reloading. Typically, your modules will use the AutoCode gem to set parameters for
0
   # reloading. This is done for you when you generate an application using the +waves+
0
- # command, but you can change the default settings. See the documentation for Autocode
0
+ # command, but you can change the default settings. See the documentation for AutoCode
0
   # for more information. Typically, you will set this parameter to just include your
0
   # main application:
0
   #
...
4
5
6
 
7
8
9
10
11
12
13
...
19
20
21
22
 
23
24
25
26
 
27
28
29
 
30
31
32
...
4
5
6
7
8
 
9
10
11
12
13
...
19
20
21
 
22
23
24
25
 
26
27
28
 
29
30
31
32
0
@@ -4,8 +4,8 @@
0
 
0
 Dir.chdir File.dirname(__FILE__) / "default_application" do
0
 module DefaultApplication ; include Waves::Foundations::Default ; end
0
+Waves::Console.load( :mode => :development )
0
 
0
-
0
   describe "An application module which includes the Simple foundation" do
0
 
0
     it "should have basic submodules defined" do
0
0
0
@@ -19,14 +19,14 @@
0
       DefaultApplication::Helpers::Default
0
     end
0
 
0
- it "should autoload Helpers, Models, Views, and Controllers when their files exist" do
0
+ it "should auto_load Helpers, Models, Views, and Controllers when their files exist" do
0
       DefaultApplication::Helpers::Testing.should.respond_to :foundation_testing
0
       DefaultApplication::Models::Default.should.respond_to :crayola
0
       DefaultApplication::Models::Different.should.respond_to :sargent
0
- DefaultApplication::Controllers::Default.instance_methods.should.include "attributes"
0
+ # DefaultApplication::Controllers::Default.instance_methods.should.include "attributes"
0
       DefaultApplication::Controllers::Default.instance_methods.should.include "destroy_all"
0
       DefaultApplication::Controllers::Different.instance_methods.should.include "destroy_all"
0
- DefaultApplication::Views::Default.instance_methods.should.include "renderer"
0
+ # DefaultApplication::Views::Default.instance_methods.should.include "renderer"
0
       DefaultApplication::Views::Default.instance_methods.should.include "upside_down"
0
       DefaultApplication::Views::Different.instance_methods.should.include "upside_down"
0
     end
...
1
2
3
 
4
5
6
...
1
2
 
3
4
5
6
0
@@ -1,6 +1,6 @@
0
 module DefaultApplication
0
   module Configurations
0
- class Development
0
+ class Development < Base
0
 
0
       database :host => 'localhost', :adapter => 'sqlite', :database => 'defaultapplication',
0
         :user => 'root', :password => ''
...
2
3
4
5
 
6
7
8
...
2
3
4
 
5
6
7
8
0
@@ -2,7 +2,7 @@
0
 
0
   module Models
0
     
0
- class Default
0
+ class Default < ::Sequel::Model
0
       
0
       def self.crayola; true; end
0
       
...
2
3
4
5
 
6
7
8
...
2
3
4
 
5
6
7
8
0
@@ -2,7 +2,7 @@
0
 require File.join(File.dirname(__FILE__), "..", "helpers")
0
 
0
 # Note: you have to define the resource classes using module_eval here, because otherwise
0
-# the autocreate code never gets triggered in the application.
0
+# the auto_create code never gets triggered in the application.
0
 
0
 module Test
0
   include Waves::Layers::MVC

Comments

    No one has commented yet.