camping_generator 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: