GitHub Sale: sign up for any paid plan this week and pay nothing until January 1, 2009!  [ hide ]

public
Rubygem
Description: Resource-oriented open source Ruby framework for Web apps.
Homepage: http://rubywaves.com/
Clone URL: git://github.com/dyoder/waves.git
--orm switch for bin/waves
automatthew (author)
Mon Jun 30 19:26:34 -0700 2008
commit  1d8e4185cd3a2543aae947d251ab0e047fa67178
tree    9df0de18f41850e81c4dfe103e9f6425f2a55ff1
parent  d603a17fd27f1f41c425902e6a2cf16a5c92eab4
...
1
 
2
3
4
 
5
6
...
 
1
2
3
 
4
5
6
0
@@ -1,5 +1,5 @@
0
-require 'layers/orm/sequel'
0
+<%= @orm_require %>
0
 module <%= @name %>
0
   include Waves::Foundations::Default
0
- include Waves::Layers::ORM::Sequel
0
+ <%= @orm_include %>
0
 end
0
\ No newline at end of file
...
21
22
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
25
26
...
37
38
39
40
 
41
42
43
...
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
...
54
55
56
 
57
58
59
60
0
@@ -21,6 +21,23 @@ Choice.options do
0
     desc 'Show this message'
0
   end
0
   
0
+ option :orm do
0
+ short '-o'
0
+ long '--orm=ORM'
0
+ desc "Select an ORM (e.g. active_record, sequel, none)"
0
+ default "sequel"
0
+ end
0
+
0
+end
0
+
0
+orm = Choice.choices.orm.snake_case
0
+orm_require, orm_include = case orm
0
+when 'sequel'
0
+ ["require 'layers/orm/sequel'", "include Waves::Layers::ORM::Sequel"]
0
+when 'active_record'
0
+ ["require 'layers/orm/active_record'", "include Waves::Layers::ORM::ActiveRecord"]
0
+when 'none'
0
+ ['', '# This app was generated without an ORM layer']
0
 end
0
 
0
 app_path = ARGV[0]
0
@@ -37,7 +54,7 @@ template = "#{WAVES}/app"
0
 generator = Rakegen.new("waves:app") do |gen|
0
   gen.source = template
0
   gen.target = app_path
0
- gen.template_assigns = {:name => app_name.camel_case}
0
+ gen.template_assigns = {:name => app_name.camel_case, :orm_require => orm_require, :orm_include => orm_include }
0
   gen.executables = %w{ bin/waves-console bin/waves-server}
0
 end
0
 

Comments

    No one has commented yet.