thorero-gen 0.9.4

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 (152) hide show
  1. data/LICENSE +20 -0
  2. data/README +21 -0
  3. data/Rakefile +65 -0
  4. data/TODO +13 -0
  5. data/bin/merb-gen +10 -0
  6. data/lib/merb-gen.rb +37 -0
  7. data/lib/merb-gen/controller.rb +69 -0
  8. data/lib/merb-gen/freezer.rb +19 -0
  9. data/lib/merb-gen/generator.rb +55 -0
  10. data/lib/merb-gen/helper.rb +53 -0
  11. data/lib/merb-gen/merb.rb +27 -0
  12. data/lib/merb-gen/merb/merb_flat.rb +31 -0
  13. data/lib/merb-gen/merb/merb_full.rb +35 -0
  14. data/lib/merb-gen/merb/merb_very_flat.rb +33 -0
  15. data/lib/merb-gen/merb_plugin.rb +33 -0
  16. data/lib/merb-gen/migration.rb +69 -0
  17. data/lib/merb-gen/model.rb +67 -0
  18. data/lib/merb-gen/part_controller.rb +55 -0
  19. data/lib/merb-gen/resource.rb +32 -0
  20. data/lib/merb-gen/resource_controller.rb +91 -0
  21. data/lib/merb-gen/session_migration.rb +44 -0
  22. data/lib/merb-gen/slice.rb +25 -0
  23. data/lib/merb-gen/slice/full.rb +31 -0
  24. data/lib/merb-gen/slice/thin.rb +31 -0
  25. data/lib/merb-gen/slice/very_thin.rb +31 -0
  26. data/spec/controller_spec.rb +94 -0
  27. data/spec/merb_spec.rb +28 -0
  28. data/spec/migration_spec.rb +47 -0
  29. data/spec/model_spec.rb +95 -0
  30. data/spec/resource_controller_spec.rb +98 -0
  31. data/spec/spec_helper.rb +7 -0
  32. data/templates/application/merb/Rakefile +76 -0
  33. data/templates/application/merb/app/controllers/application.rb +2 -0
  34. data/templates/application/merb/app/controllers/exceptions.rb +13 -0
  35. data/templates/application/merb/app/helpers/global_helpers.rb +5 -0
  36. data/templates/application/merb/app/views/exceptions/internal_server_error.html.erb +216 -0
  37. data/templates/application/merb/app/views/exceptions/not_acceptable.html.erb +63 -0
  38. data/templates/application/merb/app/views/exceptions/not_found.html.erb +47 -0
  39. data/templates/application/merb/app/views/layout/application.html.erb +11 -0
  40. data/templates/application/merb/autotest/discover.rb +1 -0
  41. data/templates/application/merb/autotest/merb.rb +149 -0
  42. data/templates/application/merb/autotest/merb_rspec.rb +166 -0
  43. data/templates/application/merb/config/environments/development.rb +7 -0
  44. data/templates/application/merb/config/environments/production.rb +7 -0
  45. data/templates/application/merb/config/environments/rake.rb +7 -0
  46. data/templates/application/merb/config/environments/test.rb +6 -0
  47. data/templates/application/merb/config/init.rb +164 -0
  48. data/templates/application/merb/config/rack.rb +12 -0
  49. data/templates/application/merb/config/router.rb +35 -0
  50. data/templates/application/merb/public/images/merb.jpg +0 -0
  51. data/templates/application/merb/public/merb.fcgi +22 -0
  52. data/templates/application/merb/public/stylesheets/master.css +119 -0
  53. data/templates/application/merb/spec/spec.opts +0 -0
  54. data/templates/application/merb/spec/spec_helper.rb +13 -0
  55. data/templates/application/merb/test/test_helper.rb +14 -0
  56. data/templates/application/merb_flat/README.txt +10 -0
  57. data/templates/application/merb_flat/application.rb +15 -0
  58. data/templates/application/merb_flat/config/framework.rb +7 -0
  59. data/templates/application/merb_flat/config/init.rb +18 -0
  60. data/templates/application/merb_flat/views/foo.html.erb +3 -0
  61. data/templates/application/merb_plugin/LICENSE +20 -0
  62. data/templates/application/merb_plugin/README +4 -0
  63. data/templates/application/merb_plugin/Rakefile +59 -0
  64. data/templates/application/merb_plugin/TODO +5 -0
  65. data/templates/application/merb_plugin/lib/%base_name%.rb +18 -0
  66. data/templates/application/merb_plugin/lib/%base_name%/merbtasks.rb +6 -0
  67. data/templates/application/merb_plugin/spec/%base_name%_spec.rb +7 -0
  68. data/templates/application/merb_plugin/spec/spec_helper.rb +2 -0
  69. data/templates/application/merb_plugin/test/%base_name%_test.rb +0 -0
  70. data/templates/application/merb_plugin/test/test_helper.rb +2 -0
  71. data/templates/application/merb_very_flat/application.rbt +17 -0
  72. data/templates/application/slice/full/LICENSE +20 -0
  73. data/templates/application/slice/full/README +170 -0
  74. data/templates/application/slice/full/Rakefile +48 -0
  75. data/templates/application/slice/full/TODO +15 -0
  76. data/templates/application/slice/full/app/controllers/application.rb +5 -0
  77. data/templates/application/slice/full/app/controllers/main.rb +7 -0
  78. data/templates/application/slice/full/app/helpers/application_helper.rb +64 -0
  79. data/templates/application/slice/full/app/views/layout/%underscored_base_name%.html.erb +16 -0
  80. data/templates/application/slice/full/app/views/main/index.html.erb +1 -0
  81. data/templates/application/slice/full/lib/%base_name%.rb +78 -0
  82. data/templates/application/slice/full/lib/%base_name%/merbtasks.rb +166 -0
  83. data/templates/application/slice/full/lib/%base_name%/slicetasks.rb +18 -0
  84. data/templates/application/slice/full/public/javascripts/master.js +0 -0
  85. data/templates/application/slice/full/public/stylesheets/master.css +2 -0
  86. data/templates/application/slice/full/spec/%base_name%_spec.rb +130 -0
  87. data/templates/application/slice/full/spec/controllers/main_spec.rb +61 -0
  88. data/templates/application/slice/full/spec/spec_helper.rb +44 -0
  89. data/templates/application/slice/full/stubs/app/controllers/application.rb +2 -0
  90. data/templates/application/slice/full/stubs/app/controllers/main.rb +2 -0
  91. data/templates/application/slice/thin/LICENSE +20 -0
  92. data/templates/application/slice/thin/README +130 -0
  93. data/templates/application/slice/thin/Rakefile +46 -0
  94. data/templates/application/slice/thin/TODO +7 -0
  95. data/templates/application/slice/thin/application.rb +36 -0
  96. data/templates/application/slice/thin/lib/%base_name%.rb +93 -0
  97. data/templates/application/slice/thin/lib/%base_name%/merbtasks.rb +106 -0
  98. data/templates/application/slice/thin/lib/%base_name%/slicetasks.rb +18 -0
  99. data/templates/application/slice/thin/public/javascripts/master.js +0 -0
  100. data/templates/application/slice/thin/public/stylesheets/master.css +2 -0
  101. data/templates/application/slice/thin/stubs/application.rb +9 -0
  102. data/templates/application/slice/thin/views/layout/%underscored_base_name%.html.erb +16 -0
  103. data/templates/application/slice/thin/views/main/index.html.erb +1 -0
  104. data/templates/application/slice/very_thin/LICENSE +20 -0
  105. data/templates/application/slice/very_thin/README +110 -0
  106. data/templates/application/slice/very_thin/Rakefile +46 -0
  107. data/templates/application/slice/very_thin/TODO +7 -0
  108. data/templates/application/slice/very_thin/application.rb +36 -0
  109. data/templates/application/slice/very_thin/lib/%base_name%.rb +89 -0
  110. data/templates/application/slice/very_thin/lib/%base_name%/merbtasks.rb +106 -0
  111. data/templates/application/slice/very_thin/lib/%base_name%/slicetasks.rb +18 -0
  112. data/templates/component/controller/app/controllers/%file_name%.rb +11 -0
  113. data/templates/component/controller/app/views/%file_name%/index.html.erb +1 -0
  114. data/templates/component/controller/spec/controllers/%file_name%_spec.rb +7 -0
  115. data/templates/component/controller/test/controllers/%file_name%_test.rb +17 -0
  116. data/templates/component/freezer/script/frozen_merb +43 -0
  117. data/templates/component/helper/app/helpers/%file_name%_helper.rb +7 -0
  118. data/templates/component/helper/spec/helpers/%file_name%_helper_spec.rb +5 -0
  119. data/templates/component/migration/activerecord/schema/migrations/%file_name%.rb +19 -0
  120. data/templates/component/migration/datamapper/schema/migrations/%file_name%.rb +7 -0
  121. data/templates/component/migration/sequel/schema/migrations/%file_name%.rb +24 -0
  122. data/templates/component/model/activerecord/app/models/%file_name%.rb +2 -0
  123. data/templates/component/model/datamapper/app/models/%file_name%.rb +6 -0
  124. data/templates/component/model/none/app/models/%file_name%.rb +5 -0
  125. data/templates/component/model/rspec/spec/models/%file_name%_spec.rb +7 -0
  126. data/templates/component/model/sequel/app/models/%file_name%.rb +2 -0
  127. data/templates/component/model/test_unit/test/models/%file_name%_test.rb +9 -0
  128. data/templates/component/part_controller/app/parts/%file_name%_part.rb +9 -0
  129. data/templates/component/part_controller/app/parts/views/%file_name%_part/index.html.erb +3 -0
  130. data/templates/component/resource_controller/activerecord/app/controllers/%file_name%.rb +57 -0
  131. data/templates/component/resource_controller/activerecord/app/views/%file_name%/edit.html.erb +3 -0
  132. data/templates/component/resource_controller/activerecord/app/views/%file_name%/index.html.erb +3 -0
  133. data/templates/component/resource_controller/activerecord/app/views/%file_name%/new.html.erb +3 -0
  134. data/templates/component/resource_controller/activerecord/app/views/%file_name%/show.html.erb +3 -0
  135. data/templates/component/resource_controller/datamapper/app/controllers/%file_name%.rb +59 -0
  136. data/templates/component/resource_controller/datamapper/app/views/%file_name%/edit.html.erb +21 -0
  137. data/templates/component/resource_controller/datamapper/app/views/%file_name%/index.html.erb +24 -0
  138. data/templates/component/resource_controller/datamapper/app/views/%file_name%/new.html.erb +20 -0
  139. data/templates/component/resource_controller/datamapper/app/views/%file_name%/show.html.erb +14 -0
  140. data/templates/component/resource_controller/none/app/controllers/%file_name%.rb +36 -0
  141. data/templates/component/resource_controller/none/app/views/%file_name%/edit.html.erb +3 -0
  142. data/templates/component/resource_controller/none/app/views/%file_name%/index.html.erb +3 -0
  143. data/templates/component/resource_controller/none/app/views/%file_name%/new.html.erb +3 -0
  144. data/templates/component/resource_controller/none/app/views/%file_name%/show.html.erb +3 -0
  145. data/templates/component/resource_controller/sequel/app/controllers/%file_name%.rb +59 -0
  146. data/templates/component/resource_controller/sequel/app/views/%file_name%/edit.html.erb +3 -0
  147. data/templates/component/resource_controller/sequel/app/views/%file_name%/index.html.erb +3 -0
  148. data/templates/component/resource_controller/sequel/app/views/%file_name%/new.html.erb +3 -0
  149. data/templates/component/resource_controller/sequel/app/views/%file_name%/show.html.erb +3 -0
  150. data/templates/component/session_migration/activerecord/schema/migrations/%version%_sessions.rb +12 -0
  151. data/templates/component/session_migration/sequel/schema/migrations/%version%_sessions.rb +16 -0
  152. metadata +362 -0
@@ -0,0 +1,7 @@
1
+ $TESTING=true
2
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ require 'rubygems'
5
+ require 'spec'
6
+ require 'merb-core'
7
+ require 'merb-gen'
@@ -0,0 +1,76 @@
1
+ require 'rubygems'
2
+ Gem.clear_paths
3
+ Gem.path.unshift(File.join(File.dirname(__FILE__), "gems"))
4
+
5
+ require 'rake'
6
+ require 'rake/rdoctask'
7
+ require 'rake/testtask'
8
+ require 'spec/rake/spectask'
9
+ require 'fileutils'
10
+
11
+ ##
12
+ # requires frozen merb-core (from /framework)
13
+ # adds the other components to the load path
14
+ def require_frozen_framework
15
+ framework = File.join(File.dirname(__FILE__), "framework")
16
+ if File.directory?(framework)
17
+ puts "Running from frozen framework"
18
+ core = File.join(framework,"merb-core")
19
+ if File.directory?(core)
20
+ puts "using merb-core from #{core}"
21
+ $:.unshift File.join(core,"lib")
22
+ require 'merb-core'
23
+ end
24
+ more = File.join(framework,"merb-more")
25
+ if File.directory?(more)
26
+ Dir.new(more).select {|d| d =~ /merb-/}.each do |d|
27
+ $:.unshift File.join(more,d,'lib')
28
+ end
29
+ end
30
+ plugins = File.join(framework,"merb-plugins")
31
+ if File.directory?(plugins)
32
+ Dir.new(plugins).select {|d| d =~ /merb_/}.each do |d|
33
+ $:.unshift File.join(plugins,d,'lib')
34
+ end
35
+ end
36
+ require "merb-core/core_ext/kernel"
37
+ require "merb-core/core_ext/rubygems"
38
+ else
39
+ p "merb doesn't seem to be frozen in /framework"
40
+ require 'merb-core'
41
+ end
42
+ end
43
+
44
+ if ENV['FROZEN']
45
+ require_frozen_framework
46
+ else
47
+ require 'merb-core'
48
+ end
49
+
50
+ require 'rubigen'
51
+ require 'merb-core/tasks/merb'
52
+ include FileUtils
53
+
54
+ # Load the basic runtime dependencies; this will include
55
+ # any plugins and therefore plugin rake tasks.
56
+ init_env = ENV['MERB_ENV'] || 'rake'
57
+ Merb.load_dependencies(:environment => init_env)
58
+
59
+ # Get Merb plugins and dependencies
60
+ Merb::Plugins.rakefiles.each { |r| require r }
61
+
62
+ # Load any app level custom rakefile extensions from lib/tasks
63
+ tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
64
+ rake_files = Dir["#{tasks_path}/*.rake"]
65
+ rake_files.each{|rake_file| load rake_file }
66
+
67
+
68
+ desc "start runner environment"
69
+ task :merb_env do
70
+ Merb.start_environment(:environment => init_env, :adapter => 'runner')
71
+ end
72
+
73
+ ##############################################################################
74
+ # ADD YOUR CUSTOM TASKS IN /lib/tasks
75
+ # NAME YOUR RAKE FILES file_name.rake
76
+ ##############################################################################
@@ -0,0 +1,2 @@
1
+ class Application < Merb::Controller
2
+ end
@@ -0,0 +1,13 @@
1
+ class Exceptions < Application
2
+
3
+ # handle NotFound exceptions (404)
4
+ def not_found
5
+ render :format => :html
6
+ end
7
+
8
+ # handle NotAcceptable exceptions (406)
9
+ def not_acceptable
10
+ render :format => :html
11
+ end
12
+
13
+ end
@@ -0,0 +1,5 @@
1
+ module Merb
2
+ module GlobalHelpers
3
+ # helpers defined here available to all views.
4
+ end
5
+ end
@@ -0,0 +1,216 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
4
+ <title><%%= @exception_name %></title>
5
+ <style type="text/css" media="screen">
6
+ body {
7
+ font-family:arial;
8
+ font-size:11px;
9
+ }
10
+ h1 {
11
+ font-size:48px;
12
+ letter-spacing:-4px;
13
+ margin:0;
14
+ line-height:36px;
15
+ color:#333;
16
+ }
17
+ h1 sup {
18
+ font-size: 0.5em;
19
+ }
20
+ h1 sup.error_500, h1 sup.error_400 {
21
+ color:#990E05;
22
+ }
23
+ h1 sup.error_100, h1 sup.error_200 {
24
+ color:#00BF10;
25
+ }
26
+ h1 sup.error_300 {
27
+ /* pretty sure you cant 'see' status 300
28
+ errors but if you could I think they
29
+ would be blue */
30
+ color:#1B2099;
31
+ }
32
+ h2 {
33
+ font-size:36px;
34
+ letter-spacing:-3px;
35
+ margin:0;
36
+ line-height:28px;
37
+ color:#444;
38
+ }
39
+ a, a:visited {
40
+ color:#00BF10;
41
+ }
42
+ .internalError {
43
+ width:800px;
44
+ margin:50px auto;
45
+ }
46
+ .header {
47
+ border-bottom:10px solid #333;
48
+ margin-bottom:1px;
49
+ background-image: url("data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7");
50
+ padding:20px;
51
+ }
52
+ table.trace {
53
+ width:100%;
54
+ font-family:courier, monospace;
55
+ letter-spacing:-1px;
56
+ border-collapse: collapse;
57
+ border-spacing:0;
58
+ }
59
+ table.trace tr td{
60
+ padding:0;
61
+ height:26px;
62
+ font-size:13px;
63
+ vertical-align:middle;
64
+ }
65
+ table.trace tr.file{
66
+ border-top:2px solid #fff;
67
+ background-color:#F3F3F3;
68
+ }
69
+ table.trace tr.source {
70
+ background-color:#F8F8F8;
71
+ display:none;
72
+ }
73
+ table.trace .open tr.source {
74
+ display:table-row;
75
+ }
76
+ table.trace tr.file td.expand {
77
+ width:23px;
78
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAIAAABvSEP3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdVJREFUeNqMVL+TwUAYxaRIOlEhlZHGDAUzzOQ61+AqXMV1lJSU7q/QRqm8KFUcJTNn5qJkaPyoKKVz7y4mF8na5Kt29tt9+/Z97/u81+vVQ4r9frdarS6Xi7ETDIZisRjxMGPfmk4niNPpZE+xLAugbPaZ53nzvtfMBe/3+/3dbuehBrAKhZdUKkVAWa9Xsiybv0CPZDJZLr/qa5/BwgwRjYqOKIvFYjQa/aNommZh0Ww2K5UqzwfoQOPxaLPZ3FAmk0+7lplMpt1u53J5OpBOR0eZEE9wHJfP5zud93g88QhluwWbjW+5VOmKBgKBer3eaDTDYeGBQF8+x7rqIYoiPgixWJazpA6HA+MSxRArkUgMh0M409g8Ho8+9wYxxCqVSq1W26EDHGM2m4HOHQrEc38f/Yn7cLmlIRhBENzcx8cVRZnPZ/YUep2BWkjTIfA+PKVpZAXR5QxsjiqCKvGEqqp443w+0dvy17swqD0HB3S73V5PpkNg1qBqt8kwGCjmPkinM0QJbIoEa7U6UG6ToVgs4V9G2g0ESoP5Aoi7KYX5oCgf8IKbkvn9/mr1LRQKESamzgJy0g0tSZIuB3nuGqRU9Vv9C4sKkUhEkp4soxvxI8AAhWrrtXa3X8EAAAAASUVORK5CYII=);
79
+ background-position:top left;
80
+ background-repeat:no-repeat;
81
+ }
82
+ table.trace .open tr.file td.expand {
83
+ width:19px;
84
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXZJREFUeNrslK1ywkAUhcMOBomEOiSdqLxEBJX0NaijOsjyHGGmCGyQQYaiiiw4gktkcOmZbpsuuzQ/M5XnqJ2d3S/n3nM3rTzPLUP7/Tt0+pLcGQwG3W53OLyHzPMtjYL7q9UqSRLrD4E1Gj1orCvKYuFHUWTVkOM44/HjDcp8/lL4r6NerzeZPMm1KFw0QkDn83m5fP2lHA4fNQvRtNvtjsfDd0WzmSfb2e/fdTqdOvdh/HLJZLOn0+d2HJ+KRGzbdl23EpFlmed5cp2maRzHQq1lvQ5KMi6EUZBGfup6E1pTfd+vrGW7jbQ2C9hTt9BpqNyIWaAwAy6xg2eBz5iRC/NomiZhGN5sqmnkauo0BUGgVQoBjQ80oCACgNQdZHfTYBkF2mxCtWWAqunWpahxIDUt3QYUxIFQpJHyIWpXjinabKbbwItMHT+NyjchrP8QKaSQQgoppJBCCimkkEIKKaSQQgoppJBCCimkkEIKKaSo+hRgAEFD17X08O2NAAAAAElFTkSuQmCC);
85
+ background-position:top left;
86
+ background-repeat:no-repeat;
87
+ }
88
+ table.trace tr.source td.collapse {
89
+ width:19px;
90
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVxJREFUeNrs0zFygkAUBmBlUkgJHdABlQwVkVJKKUxBYWbkALTxMJwhltyDFkss03IF8pudIcwaDaDl/6pd2P327b7d+eHwMXs4lNkzggoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQqVEYqm6ft9+qiSJEkYho7jTlcw2fd9NOI4nq4gEdFwXXe1Cqco63VkWVbXRTqLhTpOwQRpF7quR1E0TgGhqvLKUFCyoQqG/rks3O6kZKW/eRFpevOCoGTXVTcMQ5EyxyDEkML1c5RzuZOICIyXqn7JBVez6282MWrx731HOv2qB8Hri2lamNk0DfpVVdV1Peodappmmua8bdvzuc7zfNprzrLMth1FnGh/X8MjCAIQv/cFz/+65PcDh7rbvYv2ZUfdj+PxsyzLgVl0hKwgTqeqKApx2LeOc7t98zyv/1FWOgvx9RPii23bmL9cetJ8Ed8CDAC6aFW8bCzFhwAAAABJRU5ErkJggg==);
91
+ background-position:bottom left;
92
+ background-repeat:no-repeat;
93
+ background-color:#6F706F;
94
+ }
95
+ table.trace tr td.path {
96
+ padding-left:10px;
97
+ }
98
+ table.trace tr td.code {
99
+ padding-left:35px;
100
+ white-space: pre;
101
+ line-height:9px;
102
+ padding-bottom:10px;
103
+ }
104
+ table.trace tr td.code em {
105
+ font-weight:bold;
106
+ color:#00BF10;
107
+ }
108
+ table.trace tr td.code a {
109
+ width: 20px;
110
+ float: left;
111
+ }
112
+ table.trace tr td.code .more {
113
+ color:#666;
114
+ }
115
+ table.trace tr td.line {
116
+ width:30px;
117
+ text-align:right;
118
+ padding-right:4px;
119
+ }
120
+ .footer {
121
+ margin-top:5px;
122
+ font-size:11px;
123
+ color:#444;
124
+ text-align:right;
125
+ }
126
+ </style>
127
+ </head>
128
+ <body>
129
+ <div class="internalError">
130
+
131
+ <div class="header">
132
+ <h1><%%= @exception_name %> <sup class="error_<%%= @exception.class::STATUS %>"><%%= @exception.class::STATUS %></sup></h1>
133
+ <%% if show_details = ::Merb::Config[:exception_details] -%>
134
+ <h2><%%= @exception.message %></h2>
135
+ <%% else -%>
136
+ <h2>Sorry about that...</h2>
137
+ <%% end -%>
138
+ <h3>Parameters</h3>
139
+ <ul>
140
+ <%% params[:original_params].each do |param, value| %>
141
+ <li><strong><%%= param %>:</strong> <%%= value.inspect %></li>
142
+ <%% end %>
143
+ <%%= "<li>None</li>" if params[:original_params].empty? %>
144
+ </ul>
145
+
146
+ <h3>Session</h3>
147
+ <ul>
148
+ <%% params[:original_session].each do |param, value| %>
149
+ <li><strong><%%= param %>:</strong> <%%= value.inspect %></li>
150
+ <%% end %>
151
+ <%%= "<li>None</li>" if params[:original_session].empty? %>
152
+ </ul>
153
+
154
+ <h3>Cookies</h3>
155
+ <ul>
156
+ <%% params[:original_cookies].each do |param, value| %>
157
+ <li><strong><%%= param %>:</strong> <%%= value.inspect %></li>
158
+ <%% end %>
159
+ <%%= "<li>None</li>" if params[:original_cookies].empty? %>
160
+ </ul>
161
+ </div>
162
+
163
+ <%% if show_details %>
164
+ <table class="trace">
165
+ <%% @exception.backtrace.each_with_index do |line, index| %>
166
+ <tbody class="close">
167
+ <tr class="file">
168
+ <td class="expand">
169
+ </td>
170
+ <td class="path">
171
+ <%%= (line.match(/^([^:]+)/)[1] rescue 'unknown').sub(/\/((opt|usr)\/local\/lib\/(ruby\/)?(gems\/)?(1.8\/)?(gems\/)?|.+\/app\/)/, '') %>
172
+ <%% unless line.match(/\.erb:/) %>
173
+ in "<strong><%%= line.match(/:in `(.+)'$/)[1] rescue '?' %></strong>"
174
+ <%% else %>
175
+ (<strong>ERB Template</strong>)
176
+ <%% end %>
177
+ </td>
178
+ <td class="line">
179
+ <a href="txmt://open?url=file://<%%=file = (line.match(/^([^:]+)/)[1] rescue 'unknown')%>&amp;line=<%%= lineno = line.match(/:([0-9]+):/)[1] rescue '?' %>"><%%=lineno%></a>&nbsp;
180
+ </td>
181
+ </tr>
182
+ <tr class="source">
183
+ <td class="collapse">
184
+ </td>
185
+ <td class="code" colspan="2"><%% (__caller_lines__(file, lineno, 5) rescue []).each do |llineno, lcode, lcurrent| %>
186
+ <a href="txmt://open?url=file://<%%=file%>&amp;line=<%%=llineno%>"><%%= llineno %></a><%%='<em>' if llineno==lineno.to_i %><%%= lcode.size > 90 ? CGI.escapeHTML(lcode[0..90])+'<span class="more">......</span>' : CGI.escapeHTML(lcode) %><%%='</em>' if llineno==lineno.to_i %>
187
+ <%% end %>
188
+
189
+ </td>
190
+ </tr>
191
+ </tbody>
192
+ <%% end %>
193
+ </table>
194
+ <script type="text/javascript" charset="utf-8">
195
+ // swop the open & closed classes
196
+ els = document.getElementsByTagName('td');
197
+ for(i=0; i<els.length; i++){
198
+ if(els[i].className=='expand' || els[i].className=='collapse'){
199
+ els[i].onclick = function(e){
200
+ tbody = this.parentNode.parentNode;
201
+ if(tbody.className=='open'){
202
+ tbody.className='closed';
203
+ }else{
204
+ tbody.className='open';
205
+ }
206
+ }
207
+ }
208
+ }
209
+ </script>
210
+ <%% end %>
211
+ <div class="footer">
212
+ lots of love, from <a href="#">merb</a>
213
+ </div>
214
+ </div>
215
+ </body>
216
+ </html>
@@ -0,0 +1,63 @@
1
+ <div id="container">
2
+ <div id="header-container">
3
+ <img src="/images/merb.jpg" />
4
+ <!-- <h1>Mongrel + Erb</h1> -->
5
+ <h2>pocket rocket web framework</h2>
6
+ <hr />
7
+ </div>
8
+
9
+ <div id="left-container">
10
+ <h3>Exception:</h3>
11
+ <p><%%= params[:exception] %></p>
12
+ </div>
13
+
14
+ <div id="main-container">
15
+ <h3>Why am I seeing this page?</h3>
16
+ <p>Merb couldn't find an appropriate content_type to return,
17
+ based on what you said was available via provides() and
18
+ what the client requested.</p>
19
+
20
+ <h3>How to add a mime-type</h3>
21
+ <pre><code>
22
+ Merb.add_mime_type :pdf, :to_pdf, %w[application/pdf], &quot;Content-Encoding&quot; =&gt; &quot;gzip&quot;
23
+ </code></pre>
24
+ <h3>What this means is:</h3>
25
+ <ul>
26
+ <li>Add a mime-type for :pdf</li>
27
+ <li>Register the method for converting objects to PDF as <code>#to_pdf</code>.</li>
28
+ <li>Register the incoming mime-type "Accept" header as <code>application/pdf</code>.</li>
29
+ <li>Specify a new header for PDF types so it will set <code>Content-Encoding</code> to gzip.</li>
30
+ </ul>
31
+
32
+ <h3>You can then do:</h3>
33
+ <pre><code>
34
+ class Foo &lt; Application
35
+ provides :pdf
36
+ end
37
+ </code></pre>
38
+
39
+ <h3>Where can I find help?</h3>
40
+ <p>If you have any questions or if you can't figure something out, please take a
41
+ look at our <a href="http://merbivore.com/"> project page</a>,
42
+ feel free to come chat at irc.freenode.net, channel #merb,
43
+ or post to <a href="http://groups.google.com/group/merb">merb mailing list</a>
44
+ on Google Groups.</p>
45
+
46
+ <h3>What if I've found a bug?</h3>
47
+ <p>If you want to file a bug or make your own contribution to Merb,
48
+ feel free to register and create a ticket at our
49
+ <a href="http://merb.lighthouseapp.com/">project development page</a>
50
+ on Lighthouse.</p>
51
+
52
+ <h3>How do I edit this page?</h3>
53
+ <p>You can change what people see when this happens by editing <tt>app/views/exceptions/not_acceptable.html.erb</tt>.</p>
54
+
55
+ </div>
56
+
57
+ <div id="footer-container">
58
+ <hr />
59
+ <div class="left"></div>
60
+ <div class="right">&copy; 2007 the merb dev team</div>
61
+ <p>&nbsp;</p>
62
+ </div>
63
+ </div>
@@ -0,0 +1,47 @@
1
+ <div id="container">
2
+ <div id="header-container">
3
+ <img src="/images/merb.jpg" />
4
+ <!-- <h1>Mongrel + Erb</h1> -->
5
+ <h2>pocket rocket web framework</h2>
6
+ <hr />
7
+ </div>
8
+
9
+ <div id="left-container">
10
+ <h3>Exception:</h3>
11
+ <p><%%= params[:exception] %></p>
12
+ </div>
13
+
14
+ <div id="main-container">
15
+ <h3>Welcome to Merb!</h3>
16
+ <p>Merb is a light-weight MVC framework written in Ruby. We hope you enjoy it.</p>
17
+
18
+ <h3>Where can I find help?</h3>
19
+ <p>If you have any questions or if you can't figure something out, please take a
20
+ look at our <a href="http://merbivore.com/"> project page</a>,
21
+ feel free to come chat at irc.freenode.net, channel #merb,
22
+ or post to <a href="http://groups.google.com/group/merb">merb mailing list</a>
23
+ on Google Groups.</p>
24
+
25
+ <h3>What if I've found a bug?</h3>
26
+ <p>If you want to file a bug or make your own contribution to Merb,
27
+ feel free to register and create a ticket at our
28
+ <a href="http://merb.lighthouseapp.com/">project development page</a>
29
+ on Lighthouse.</p>
30
+
31
+ <h3>How do I edit this page?</h3>
32
+ <p>You're seeing this page because you need to edit the following files:
33
+ <ul>
34
+ <li>config/router.rb <strong><em>(recommended)</em></strong></li>
35
+ <li>app/views/exceptions/not_found.html.erb <strong><em>(recommended)</em></strong></li>
36
+ <li>app/views/layout/application.html.erb <strong><em>(change this layout)</em></strong></li>
37
+ </ul>
38
+ </p>
39
+ </div>
40
+
41
+ <div id="footer-container">
42
+ <hr />
43
+ <div class="left"></div>
44
+ <div class="right">&copy; 2007 the merb dev team</div>
45
+ <p>&nbsp;</p>
46
+ </div>
47
+ </div>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
3
+ <head>
4
+ <title>Fresh Merb App</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="/stylesheets/master.css" type="text/css" media="screen" charset="utf-8" />
7
+ </head>
8
+ <body>
9
+ <%%= catch_content :for_layout %>
10
+ </body>
11
+ </html>