mack 0.4.6 → 0.4.7

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.
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) %>