camping_generator 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/templates/app.rb ADDED
@@ -0,0 +1,158 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'camping' <%= "\nrequire 'camping/session'" if session %>
4
+ Camping.goes :<%= class_name %>
5
+
6
+ module <%= class_name %>
7
+ <% if session %>include Camping::Session<% end %>
8
+ end
9
+
10
+ module <%= class_name %>::Models
11
+ <% models.each do |m| %>class <%= m %> < Base; end
12
+ <% end
13
+ unless models.empty? %>
14
+ class CreateTheBasics < V 1.0
15
+ def self.up<% model_tables.each do |table| %>
16
+ create_table :<%= table %>, :force => true do |t|
17
+ t.column :id, :integer, :null => false
18
+ # t.column :title, :string, :limit => 255
19
+ end<% end %>
20
+ end
21
+ def self.down <% model_tables.each { |table| %>
22
+ drop_table :<%= table %><% } %>
23
+ end
24
+ end <% end %>
25
+ end
26
+
27
+ module <%= class_name %>::Controllers
28
+ class Index < R '/'
29
+ def get
30
+ render :index
31
+ end
32
+ end <%
33
+ if scaffold
34
+ models.each do |m|
35
+ md = m.downcase
36
+ %>
37
+ class Index<%= m %> < R '/<%= md %>'
38
+ # index page for <%= m %>
39
+ def get
40
+ @<%= md.pluralize %> = Models::<%= m %>.find_all
41
+ render :list_<%= md %>
42
+ end
43
+ end
44
+
45
+ class Create<%= m %> < R '/<%= md %>/add'
46
+ def get
47
+ @<%= md %> = Models::<%= m %>.create
48
+ render :add_<%= md %>
49
+ end
50
+ end
51
+
52
+ class <%= m %> < R '/<%= md %>/(\d)'
53
+ def get(id)
54
+ @<%= md %> = Models::<%= m %>.find(id)
55
+ render :<%= md %>
56
+ end
57
+ def post(id)
58
+ @<%= md %> = Models::<%= m %>.find(id)
59
+ # @<%= md %>.title = input.title
60
+ @<%= md %>.save
61
+ redirect <%= m %>, @<%= md %>.id
62
+ end
63
+ end<% end
64
+ end
65
+ if stylesheet %>
66
+ class Style < R '/styles.css'
67
+ def get
68
+ @headers["Content-Type"] = "text/css; charset=utf-8"
69
+ @body = %{
70
+ body {
71
+ font-family: Utopia, Georga, serif;
72
+ }
73
+ h1.header {
74
+ background-color: #fef;
75
+ margin: 0; padding: 10px;
76
+ }
77
+ div.content {
78
+ padding: 10px;
79
+ }
80
+ }
81
+ end
82
+ end <% end %>
83
+ end
84
+
85
+ module <%= class_name %>::Views
86
+
87
+ def layout
88
+ html do
89
+ head do
90
+ title '<%= class_name %>' <% if stylesheet %>
91
+ link :rel => 'stylesheet', :type => 'text/css',
92
+ :href => '/styles.css', :media => 'screen' <% end %>
93
+ end
94
+ body do
95
+ h1.header { a '<%= class_name %>', :href => R(Index) }
96
+ div.content do
97
+ self << yield
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ def index
104
+ <% if scaffold %> ul do
105
+ <% models.each do |m|
106
+ md = m.downcase
107
+ %> li { a '<%= m %>', :href => R(<%= m %>) }
108
+ <% end %> end
109
+ <% end %>
110
+ end
111
+ <% if scaffold
112
+ models.each do |m|
113
+ md = m.downcase
114
+ %>
115
+
116
+ # views for <%= m %>
117
+ def list_<%= md %>
118
+ a 'add a <%= m %>', :href => R(Create<%= m %>)
119
+ div.<%= md.pluralize %> do
120
+ <%= md.pluralize %>.each do |<%= md %>|
121
+ _<%= md %>(<%= md %>)
122
+ end
123
+ end
124
+ end
125
+
126
+ def <%= md %>
127
+ div.<%= md %> do
128
+ _<%= md %>(<%= md %>)
129
+ end
130
+ div.<%= md %>_form do
131
+ _form_<%= md %>(R(<%= m %>, <%= md %>.id)<%= md %>)
132
+ end
133
+ end
134
+
135
+ def add_<%= md %>
136
+ p "Add your <%= m %> here"
137
+ _form_<%= md %>(R(Create<%= m %>), <%= md %>)
138
+ end
139
+
140
+ # <%= m %> partials
141
+ def _<%= md %>(<%= md %>)
142
+ # h2.title { a <%= md %>.title, :href => R(<%= m %>, <%= md %>.id) }
143
+ end
144
+
145
+ def _form_<%= md %>(action, <%= md %> = nil)
146
+ form(:method => 'post', :action => action) do
147
+ # input :type => 'textfield', :name => 'title', :value => <%= md %>.title
148
+ input :type => 'submit'
149
+ end
150
+ end
151
+ <% end
152
+ end %>end
153
+
154
+ def <%= class_name %>.create
155
+ <%= "Camping::Models::Session.create_schema" if session %>
156
+ <%= "#{class_name}::Models.create_schema" unless models.empty? %>
157
+ end
158
+
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: camping_generator
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.1.0
7
+ date: 2006-11-28 00:00:00 -06:00
8
+ summary: The Camping Generator, a leg of Parasite
9
+ require_paths:
10
+ - lib
11
+ email: mark.m.fredrickson@gmail.com
12
+ homepage: http://parasite.rubyforge.org
13
+ rubyforge_project: parasite
14
+ description: The Camping Generator, a leg of Parasite
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: false
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Mark Fredrickson
31
+ files:
32
+ - History.txt
33
+ - Manifest.txt
34
+ - README.txt
35
+ - Rakefile
36
+ - setup.rb
37
+ - USAGE
38
+ - templates/app.rb
39
+ - camping_generator.rb
40
+ - lib
41
+ test_files: []
42
+
43
+ rdoc_options: []
44
+
45
+ extra_rdoc_files: []
46
+
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ requirements: []
52
+
53
+ dependencies:
54
+ - !ruby/object:Gem::Dependency
55
+ name: rails
56
+ version_requirement:
57
+ version_requirements: !ruby/object:Gem::Version::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.1.6
62
+ version:
63
+ - !ruby/object:Gem::Dependency
64
+ name: camping
65
+ version_requirement:
66
+ version_requirements: !ruby/object:Gem::Version::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: "1.5"
71
+ version: