mack 0.4.6 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/CHANGELOG +16 -0
  2. data/bin/mack +5 -43
  3. data/lib/errors/errors.rb +3 -0
  4. data/lib/generators/genosaurus_helpers.rb +38 -0
  5. data/lib/generators/mack_application_generator/mack_application_generator.rb +7 -0
  6. data/lib/generators/mack_application_generator/manifest.yml +71 -0
  7. data/{bin → lib/generators/mack_application_generator}/templates/Rakefile.template +1 -1
  8. data/{bin → lib/generators/mack_application_generator}/templates/app/controllers/default_controller.rb.template +0 -0
  9. data/{bin → lib/generators/mack_application_generator}/templates/app/helpers/application_helper.rb.template +0 -0
  10. data/{bin → lib/generators/mack_application_generator}/templates/app/views/default/index.html.erb.template +0 -0
  11. data/{bin → lib/generators/mack_application_generator}/templates/app/views/layouts/application.html.erb.template +0 -0
  12. data/lib/generators/mack_application_generator/templates/config/app_config/default.yml.template +5 -0
  13. data/{bin → lib/generators/mack_application_generator}/templates/config/app_config/development.yml.template +0 -0
  14. data/{bin → lib/generators/mack_application_generator}/templates/config/app_config/production.yml.template +0 -0
  15. data/{bin → lib/generators/mack_application_generator}/templates/config/app_config/test.yml.template +0 -0
  16. data/{bin → lib/generators/mack_application_generator}/templates/config/database.yml.template +6 -6
  17. data/{bin → lib/generators/mack_application_generator}/templates/config/initializers/gems.rb.template +0 -0
  18. data/{bin → lib/generators/mack_application_generator}/templates/config/routes.rb.template +0 -0
  19. data/{bin → lib/generators/mack_application_generator}/templates/config/thin.ru.template +0 -0
  20. data/{bin → lib/generators/mack_application_generator}/templates/config/thin.yml.template +0 -0
  21. data/{bin/templates/public/favicon.ico → lib/generators/mack_application_generator/templates/public/favicon.ico.template} +0 -0
  22. data/{bin → lib/generators/mack_application_generator}/templates/public/stylesheets/scaffold.css.template +0 -0
  23. data/{bin → lib/generators/mack_application_generator}/templates/test/test_helper.rb.template +1 -1
  24. data/lib/generators/migration_generator/migration_generator.rb +3 -9
  25. data/lib/generators/migration_generator/templates/{migration.rb.template → db/migrations/<%=@migration_name%>.rb.template} +0 -0
  26. data/lib/generators/model_column.rb +1 -1
  27. data/lib/generators/model_generator/manifest.yml +11 -0
  28. data/lib/generators/model_generator/model_generator.rb +16 -19
  29. data/lib/generators/model_generator/templates/{app/models/active_record.rb.template → active_record.rb.template} +0 -0
  30. data/lib/generators/model_generator/templates/{app/models/data_mapper.rb.template → data_mapper.rb.template} +3 -1
  31. data/lib/generators/model_generator/templates/test.rb.template +9 -0
  32. data/lib/generators/plugin_generator/plugin_generator.rb +3 -17
  33. data/lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/init.rb.template +1 -0
  34. data/lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/lib/<%= @plugin_name %>.rb.template +1 -0
  35. data/lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/lib/tasks/<%= @plugin_name %>_tasks.rake.template +1 -0
  36. data/lib/generators/scaffold_generator/manifest.yml +31 -0
  37. data/lib/generators/scaffold_generator/scaffold_generator.rb +13 -27
  38. data/lib/generators/scaffold_generator/templates/no_orm/{app/controllers/controller.rb.template → controller.rb.template} +0 -0
  39. data/lib/generators/scaffold_generator/templates/test.rb.template +9 -0
  40. data/lib/initialization/initializer.rb +16 -1
  41. data/lib/initialization/initializers/orm_support.rb +48 -33
  42. data/lib/mack.rb +12 -6
  43. data/lib/mack_tasks.rb +2 -2
  44. data/lib/routing/route_map.rb +2 -0
  45. data/lib/sea_level/helpers/view_helpers/html_helpers.rb +8 -0
  46. data/lib/sea_level/request.rb +21 -8
  47. data/lib/sea_level/uploaded_file.rb +56 -0
  48. data/lib/tasks/generator_tasks.rake +18 -0
  49. data/lib/tasks/rake_rules.rake +1 -2
  50. data/lib/utils/html.rb +8 -0
  51. metadata +49 -28
  52. data/bin/templates/config/app_config/default.yml.template +0 -7
  53. data/lib/generators/base.rb +0 -94
  54. data/lib/generators/migration/base.rb +0 -26
  55. data/lib/generators/plugin_generator/templates/init.rb.template +0 -1
  56. data/lib/generators/plugin_generator/templates/lib/plugin.rb.template +0 -1
@@ -22,6 +22,5 @@ rule /^generate:/ do |t|
22
22
  klass = t.name.gsub("generate:", '')
23
23
  Rake::Task["environment"].invoke
24
24
  klass = "#{klass.camelcase}Generator"
25
- gen = klass.constantize.new(ENV)
26
- gen.run
25
+ gen = klass.constantize.run(ENV.to_hash)
27
26
  end
data/lib/utils/html.rb CHANGED
@@ -89,6 +89,14 @@ module Mack
89
89
  html = "<#{tag} #{options.join("%s=\"%s\"", " ")}>#{content}</#{tag}>"
90
90
  end
91
91
 
92
+ # Builds a HTML image tag.
93
+ #
94
+ def image_tag(image_src, options = {})
95
+ html = "<img src=\"#{image_src}\""
96
+ html << " " << options.join("%s=\"%s\"", " ") unless options.empty?
97
+ html << ">"
98
+ end
99
+
92
100
  end # self
93
101
 
94
102
  end # Html
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-18 00:00:00 -04:00
12
+ date: 2008-04-25 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirements:
65
65
  - - "="
66
66
  - !ruby/object:Gem::Version
67
- version: 0.8.0
67
+ version: 0.8.1
68
68
  version:
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: builder
@@ -102,6 +102,15 @@ dependencies:
102
102
  - !ruby/object:Gem::Version
103
103
  version: 2.5.0
104
104
  version:
105
+ - !ruby/object:Gem::Dependency
106
+ name: genosaurus
107
+ version_requirement:
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.1.1
113
+ version:
105
114
  description: Mack is a powerful, yet simple, web application framework. It takes some cues from the likes of Rails and Merb, so it's not entirely unfamiliar. Mack hopes to provide developers a great framework for building, and deploying, portal and distributed applications.
106
115
  email: mark@mackframework.com
107
116
  executables:
@@ -120,24 +129,51 @@ files:
120
129
  - lib/distributed/routing/urls.rb
121
130
  - lib/distributed/utils/rinda.rb
122
131
  - lib/errors/errors.rb
123
- - lib/generators/base.rb
124
- - lib/generators/migration/base.rb
132
+ - lib/generators/genosaurus_helpers.rb
133
+ - lib/generators/mack_application_generator/mack_application_generator.rb
134
+ - lib/generators/mack_application_generator/manifest.yml
135
+ - lib/generators/mack_application_generator/templates/app/controllers/default_controller.rb.template
136
+ - lib/generators/mack_application_generator/templates/app/helpers/application_helper.rb.template
137
+ - lib/generators/mack_application_generator/templates/app/views/default/index.html.erb.template
138
+ - lib/generators/mack_application_generator/templates/app/views/layouts/application.html.erb.template
139
+ - lib/generators/mack_application_generator/templates/config/app_config/default.yml.template
140
+ - lib/generators/mack_application_generator/templates/config/app_config/development.yml.template
141
+ - lib/generators/mack_application_generator/templates/config/app_config/production.yml.template
142
+ - lib/generators/mack_application_generator/templates/config/app_config/test.yml.template
143
+ - lib/generators/mack_application_generator/templates/config/database.yml.template
144
+ - lib/generators/mack_application_generator/templates/config/initializers/gems.rb.template
145
+ - lib/generators/mack_application_generator/templates/config/routes.rb.template
146
+ - lib/generators/mack_application_generator/templates/config/thin.ru.template
147
+ - lib/generators/mack_application_generator/templates/config/thin.yml.template
148
+ - lib/generators/mack_application_generator/templates/public/favicon.ico.template
149
+ - lib/generators/mack_application_generator/templates/public/stylesheets/scaffold.css.template
150
+ - lib/generators/mack_application_generator/templates/Rakefile.template
151
+ - lib/generators/mack_application_generator/templates/test/functional.template
152
+ - lib/generators/mack_application_generator/templates/test/test_helper.rb.template
153
+ - lib/generators/mack_application_generator/templates/test/unit.template
154
+ - lib/generators/mack_application_generator/templates/vendor/plugins.template
125
155
  - lib/generators/migration_generator/migration_generator.rb
126
- - lib/generators/migration_generator/templates/migration.rb.template
156
+ - lib/generators/migration_generator/templates/db/migrations/<%=@migration_name%>.rb.template
127
157
  - lib/generators/model_column.rb
158
+ - lib/generators/model_generator/manifest.yml
128
159
  - lib/generators/model_generator/model_generator.rb
129
- - lib/generators/model_generator/templates/app/models/active_record.rb.template
130
- - lib/generators/model_generator/templates/app/models/data_mapper.rb.template
160
+ - lib/generators/model_generator/templates/active_record.rb.template
161
+ - lib/generators/model_generator/templates/data_mapper.rb.template
162
+ - lib/generators/model_generator/templates/test.rb.template
131
163
  - lib/generators/plugin_generator/plugin_generator.rb
132
- - lib/generators/plugin_generator/templates/init.rb.template
133
- - lib/generators/plugin_generator/templates/lib/plugin.rb.template
164
+ - lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/init.rb.template
165
+ - lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/lib/<%= @plugin_name %>.rb.template
166
+ - lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/lib/tasks/<%= @plugin_name %>_tasks.rake.template
167
+ - lib/generators/plugin_generator/templates/vendor/plugins/<%= @plugin_name %>/lib/tasks.template
168
+ - lib/generators/scaffold_generator/manifest.yml
134
169
  - lib/generators/scaffold_generator/scaffold_generator.rb
135
170
  - lib/generators/scaffold_generator/templates/generic/app/controllers/controller.rb.template
136
171
  - lib/generators/scaffold_generator/templates/generic/app/views/edit.html.erb.template
137
172
  - lib/generators/scaffold_generator/templates/generic/app/views/index.html.erb.template
138
173
  - lib/generators/scaffold_generator/templates/generic/app/views/new.html.erb.template
139
174
  - lib/generators/scaffold_generator/templates/generic/app/views/show.html.erb.template
140
- - lib/generators/scaffold_generator/templates/no_orm/app/controllers/controller.rb.template
175
+ - lib/generators/scaffold_generator/templates/no_orm/controller.rb.template
176
+ - lib/generators/scaffold_generator/templates/test.rb.template
141
177
  - lib/initialization/configuration.rb
142
178
  - lib/initialization/console.rb
143
179
  - lib/initialization/initializer.rb
@@ -164,10 +200,12 @@ files:
164
200
  - lib/sea_level/request.rb
165
201
  - lib/sea_level/response.rb
166
202
  - lib/sea_level/session.rb
203
+ - lib/sea_level/uploaded_file.rb
167
204
  - lib/sea_level/view_binder.rb
168
205
  - lib/tasks/cachetastic_tasks.rake
169
206
  - lib/tasks/db_tasks.rake
170
207
  - lib/tasks/gem_tasks.rake
208
+ - lib/tasks/generator_tasks.rake
171
209
  - lib/tasks/log_tasks.rake
172
210
  - lib/tasks/mack_dump_tasks.rake
173
211
  - lib/tasks/mack_ring_server_tasks.rake
@@ -183,23 +221,6 @@ files:
183
221
  - lib/utils/gem_manager.rb
184
222
  - lib/utils/html.rb
185
223
  - lib/utils/server.rb
186
- - bin/templates/app/controllers/default_controller.rb.template
187
- - bin/templates/app/helpers/application_helper.rb.template
188
- - bin/templates/app/views/default/index.html.erb.template
189
- - bin/templates/app/views/layouts/application.html.erb.template
190
- - bin/templates/config/app_config/default.yml.template
191
- - bin/templates/config/app_config/development.yml.template
192
- - bin/templates/config/app_config/production.yml.template
193
- - bin/templates/config/app_config/test.yml.template
194
- - bin/templates/config/database.yml.template
195
- - bin/templates/config/initializers/gems.rb.template
196
- - bin/templates/config/routes.rb.template
197
- - bin/templates/config/thin.ru.template
198
- - bin/templates/config/thin.yml.template
199
- - bin/templates/public/favicon.ico
200
- - bin/templates/public/stylesheets/scaffold.css.template
201
- - bin/templates/Rakefile.template
202
- - bin/templates/test/test_helper.rb.template
203
224
  - CHANGELOG
204
225
  has_rdoc: true
205
226
  homepage: http://www.mackframework.com
@@ -1,7 +0,0 @@
1
- whiny_config_missing: false
2
-
3
- mack::session_id: _<%= app.downcase %>_session_id
4
-
5
- # log::level: error
6
-
7
- <%= options.orm ? "orm: #{options.orm}" : "" %>
@@ -1,94 +0,0 @@
1
- module Mack
2
- module Generator # :nodoc:
3
- # All generator classes should extend this class if they're expected to be used by the rake generate:<generator_name> task.
4
- # A generator must by name in the following style: <name>Generator.
5
- #
6
- # Example:
7
- # class MyCoolGenerator < Mack::Generator::Base
8
- # require_param :name, :foo
9
- #
10
- # def generate
11
- # # do work...
12
- # end
13
- # end
14
- #
15
- # rake generate:my_cool # => calls MyCoolGenerator
16
- class Base
17
-
18
- include FileUtils
19
-
20
- # Used to define arguments that are required by the generator.
21
- def self.require_param(*args)
22
- required_params << args
23
- required_params.flatten!
24
- end
25
-
26
- # Returns the required_params array.
27
- def self.required_params
28
- @required_params ||= []
29
- end
30
-
31
- # Takes a Hash of parameters.
32
- # Raise Mack::Errors::RequiredGeneratorParameterMissing if a required parameter
33
- # is missing.
34
- def initialize(env = {})
35
- @env = env.to_hash
36
- self.class.required_params.each do |p|
37
- raise Mack::Errors::RequiredGeneratorParameterMissing.new(p) unless param(p)
38
- end
39
- end
40
-
41
- # Runs the generate method.
42
- def run
43
- generate
44
- end
45
-
46
- # Returns a parameter from the initial Hash of parameters.
47
- def param(key)
48
- (@env[key.to_s.downcase] ||= @env[key.to_s.upcase])
49
- end
50
-
51
- # Needs to be implemented by the subclass.
52
- needs_method :generate
53
-
54
- # Takes an input_file runs it through Erubis::Eruby and
55
- # saves it to the specified output_file. If the output_file exists it will
56
- # be skipped. If you would like to force the writing of the file, use the
57
- # :force => true option.
58
- def template(input_file, output_file, options = {})
59
- if File.exists?(output_file)
60
- unless options[:force]
61
- puts "Skipped: #{output_file}"
62
- return
63
- end
64
- end
65
- File.open(output_file, "w") {|f| f.puts ERB.new(File.open(input_file).read, nil, "->").result(binding)}
66
- puts "Wrote: #{output_file}"
67
- end
68
-
69
- # Creates the specified directory.
70
- def directory(output_dir, options = {})
71
- if File.exists?(output_dir)
72
- puts "Exists: #{output_dir}"
73
- return
74
- end
75
- mkdir_p(output_dir)
76
- puts "Created: #{output_dir}"
77
- end
78
-
79
- def columns(name = param(:name))
80
- ivar_cache("form_columns") do
81
- cs = []
82
- cols = (param(:cols) || param(:columns))
83
- if cols
84
- cols.split(",").each do |x|
85
- cs << Mack::Generator::ModelColumn.new(name, x)
86
- end
87
- end
88
- cs
89
- end
90
- end
91
-
92
- end # Base
93
- end # Generator
94
- end # Mack
@@ -1,26 +0,0 @@
1
- module Mack
2
- module Generator
3
- module Migration # :nodoc:
4
- class Base < Mack::Generator::Base
5
-
6
- attr_reader :db_directory
7
- attr_reader :migrations_directory
8
-
9
- def initialize(env = {})
10
- super(env)
11
- @db_directory = File.join(MACK_ROOT, "db")
12
- @migrations_directory = File.join(@db_directory, "migrations")
13
- end
14
-
15
- def next_migration_number
16
- last = Dir.glob(File.join(@migrations_directory, "*.rb")).last
17
- if last
18
- return File.basename(last).match(/^\d+/).to_s.succ
19
- end
20
- return "001"
21
- end
22
-
23
- end # Base
24
- end # Migration
25
- end # Generator
26
- end # Mack
@@ -1 +0,0 @@
1
- require '<%= param(:name) %>'
@@ -1 +0,0 @@
1
- # Do work here for <%= param(:name) %>