control_center 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.markdown +188 -0
  3. data/generators/control_center/control_center_generator.rb +26 -0
  4. data/generators/control_center/templates/control_center.rb +14 -0
  5. data/lib/control_center.rb +20 -0
  6. data/lib/control_center/engine.rb +18 -0
  7. data/lib/control_center/helpers/layout_helper.rb +65 -0
  8. data/lib/control_center/helpers/tab_builder.rb +14 -0
  9. data/lib/tasks/control_center_tasks.rake +4 -0
  10. data/rails/init.rb +7 -0
  11. data/test/rails/README +2 -0
  12. data/test/rails/Rakefile +10 -0
  13. data/test/rails/app/controllers/application.rb +15 -0
  14. data/test/rails/app/controllers/application_controller.rb +15 -0
  15. data/test/rails/app/controllers/test_controller.rb +3 -0
  16. data/test/rails/app/helpers/application_helper.rb +3 -0
  17. data/test/rails/app/helpers/test_helper.rb +2 -0
  18. data/test/rails/app/views/layouts/_header_links.html.erb +2 -0
  19. data/test/rails/app/views/layouts/_tabs.html.erb +3 -0
  20. data/test/rails/app/views/layouts/control_center.html.erb +64 -0
  21. data/test/rails/app/views/test/forms.html.erb +106 -0
  22. data/test/rails/app/views/test/index.html.erb +28 -0
  23. data/test/rails/app/views/test/no_sidebar.html.erb +17 -0
  24. data/test/rails/app/views/test/pagination.html.erb +4 -0
  25. data/test/rails/app/views/test/tab_override.html.erb +12 -0
  26. data/test/rails/app/views/test/table.html.erb +27 -0
  27. data/test/rails/config/boot.rb +110 -0
  28. data/test/rails/config/database.yml +22 -0
  29. data/test/rails/config/environment.rb +76 -0
  30. data/test/rails/config/environments/development.rb +17 -0
  31. data/test/rails/config/environments/production.rb +24 -0
  32. data/test/rails/config/environments/test.rb +22 -0
  33. data/test/rails/config/initializers/control_center.rb +14 -0
  34. data/test/rails/config/initializers/inflections.rb +10 -0
  35. data/test/rails/config/initializers/mime_types.rb +5 -0
  36. data/test/rails/config/initializers/new_rails_defaults.rb +17 -0
  37. data/test/rails/config/locales/en.yml +5 -0
  38. data/test/rails/config/routes.rb +43 -0
  39. data/test/rails/db/development.sqlite3 +0 -0
  40. data/test/rails/db/test.sqlite3 +0 -0
  41. data/test/rails/doc/README_FOR_APP +5 -0
  42. data/test/rails/lib/tasks/databaseless.rake +3 -0
  43. data/test/rails/log/development.log +251 -0
  44. data/test/rails/log/test.log +280 -0
  45. data/test/rails/public/404.html +30 -0
  46. data/test/rails/public/422.html +30 -0
  47. data/test/rails/public/500.html +33 -0
  48. data/test/rails/public/dispatch.cgi +10 -0
  49. data/test/rails/public/dispatch.fcgi +24 -0
  50. data/test/rails/public/dispatch.rb +10 -0
  51. data/test/rails/public/favicon.ico +0 -0
  52. data/test/rails/public/images/rails.png +0 -0
  53. data/test/rails/public/javascripts/application.js +2 -0
  54. data/test/rails/public/javascripts/controls.js +963 -0
  55. data/test/rails/public/javascripts/dragdrop.js +973 -0
  56. data/test/rails/public/javascripts/effects.js +1128 -0
  57. data/test/rails/public/javascripts/prototype.js +4320 -0
  58. data/test/rails/public/robots.txt +5 -0
  59. data/test/rails/public/stylesheets/control_center.css +289 -0
  60. data/test/rails/public/stylesheets/custom_css_1.css +0 -0
  61. data/test/rails/public/stylesheets/custom_css_2.css +0 -0
  62. data/test/rails/script/about +4 -0
  63. data/test/rails/script/console +3 -0
  64. data/test/rails/script/dbconsole +3 -0
  65. data/test/rails/script/destroy +3 -0
  66. data/test/rails/script/generate +3 -0
  67. data/test/rails/script/performance/benchmarker +3 -0
  68. data/test/rails/script/performance/profiler +3 -0
  69. data/test/rails/script/performance/request +3 -0
  70. data/test/rails/script/plugin +3 -0
  71. data/test/rails/script/process/inspector +3 -0
  72. data/test/rails/script/process/reaper +3 -0
  73. data/test/rails/script/process/spawner +3 -0
  74. data/test/rails/script/runner +3 -0
  75. data/test/rails/script/server +3 -0
  76. data/test/rails/test/functional/test_controller_test.rb +49 -0
  77. data/test/rails/test/performance/browsing_test.rb +9 -0
  78. data/test/rails/test/test_helper.rb +13 -0
  79. data/test/rails/update +6 -0
  80. metadata +145 -0
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,289 @@
1
+ body {
2
+ background: #ddd;
3
+ font-family: arial, sans-serif;
4
+ margin: 0;
5
+ padding: 0;
6
+ font-size: 12px;
7
+ }
8
+ a img {
9
+ border: 0;
10
+ }
11
+
12
+ /* header styling */
13
+ #header {
14
+ background: #36393d;
15
+ color: #fff;
16
+ height: 70px;
17
+ }
18
+ #header h1 a {
19
+ text-decoration: none;
20
+ }
21
+ #header h1 {
22
+ font-size: 30px;
23
+ line-height: 70px;
24
+ margin: 0;
25
+ padding: 0 0 0 20px;
26
+ }
27
+ #header #header_links {
28
+ font-size: small;
29
+ margin: -65px 15px 0 0;
30
+ padding: 0;
31
+ list-style-type: none;
32
+ text-align: right;
33
+ float: right;
34
+ }
35
+ #header #header_links li {
36
+ float: left;
37
+ margin: 0 0 0 5px;
38
+ }
39
+ #header #header_links a {
40
+ color: white;
41
+ }
42
+ #header #header_links a:hover {
43
+ color: #36393d;
44
+ background: #fff;
45
+ text-decoration: none;
46
+ }
47
+
48
+ /* primary tabsigation styling */
49
+ #tabs {
50
+ clear: both;
51
+ float: right;
52
+ margin: -27px 5px 0 0;
53
+ list-style-type: none;
54
+ font-weight: bold;
55
+ font-size: small;
56
+ }
57
+ #tabs li {
58
+ float: left;
59
+ height: 27px;
60
+ line-height: 27px;
61
+ padding: 0 10px;
62
+ }
63
+ #tabs li.active {
64
+ background: #ddd;
65
+ }
66
+ #tabs li.active a {
67
+ color: #000;
68
+ }
69
+ #tabs a {
70
+ text-decoration: none;
71
+ padding: 3px;
72
+ color: #fff;
73
+ }
74
+ #tabs a:hover {
75
+ text-decoration: underline;
76
+ }
77
+ /* secondary tabsigation styling */
78
+ #sub_tabs {
79
+ clear: both;
80
+ float: left;
81
+ list-style-type: none;
82
+ font-weight: bold;
83
+ font-size: small;
84
+ margin: 13px 0 0 -15px;
85
+ }
86
+ #sub_tabs li {
87
+ float: left;
88
+ height: 27px;
89
+ line-height: 27px;
90
+ padding: 0 10px;
91
+ margin-right: 7px;
92
+ }
93
+ #sub_tabs li.active {
94
+ background: #fff;
95
+ }
96
+ #sub_tabs li.active a {
97
+ color: #000;
98
+ }
99
+ #sub_tabs a {
100
+ text-decoration: none;
101
+ padding: 3px;
102
+ color: #fff;
103
+ }
104
+ #sub_tabs a:hover {
105
+ text-decoration: underline;
106
+ }
107
+
108
+ /* main content styling */
109
+ h2 {
110
+ padding: 5px;
111
+ }
112
+ #main {
113
+ min-width: 800px;
114
+ }
115
+ #content {
116
+ clear: both;
117
+ }
118
+ #content_inside {
119
+ padding: 5px 10px 10px 10px;
120
+ margin: 0 10px 10px 10px;
121
+ background: #fff;
122
+ border-right: 2px solid #ccc;
123
+ border-bottom: 2px solid #ccc;
124
+ min-width: 800px;
125
+ }
126
+
127
+ #content.narrow {
128
+ float: left;
129
+ width: 70%;
130
+ }
131
+ #content.narrow #content_inside {
132
+ min-width: 560px;
133
+ }
134
+
135
+ #sidebar {
136
+ float: left;
137
+ width: 30%;
138
+ }
139
+ #sidebar_inside {
140
+ min-width: 240px;
141
+ margin: 0 10px 0 0;
142
+ }
143
+ .sidebar_box {
144
+ border-bottom: 2px solid #ccc;
145
+ }
146
+
147
+ /* style for forms */
148
+ form {
149
+ margin: 20px 0;
150
+ width: 100%;
151
+ }
152
+ form div {
153
+ clear: both;
154
+ float: left;
155
+ margin-bottom: 6px;
156
+ }
157
+ form div div.col2 {
158
+ width: 200px;
159
+ float: left;
160
+ margin: 0 20px 0 0;
161
+ clear: none;
162
+ }
163
+ label {
164
+ display: block;
165
+ }
166
+ fieldset {
167
+ border: 0;
168
+ border-top: 1px solid #ddd;
169
+ clear: both;
170
+ padding: 0.8em 0 0 0;
171
+ }
172
+ fieldset legend {
173
+ font-weight: bold;
174
+ margin: 0 0 0 10px;
175
+ font-size: 1.2em;
176
+ }
177
+ input[type="text"], input[type="password"] {
178
+ width: 200px;
179
+ }
180
+ textarea {
181
+ margin: 0;
182
+ }
183
+ input[type="submit"] {
184
+ margin-top: 20px;
185
+ }
186
+ form div.submit {
187
+ clear: both;
188
+ float: none;
189
+ }
190
+
191
+ /* styling for errors */
192
+ .errorExplanation {
193
+ border: 2px solid #c00;
194
+ margin-bottom: 8px;
195
+ width: 100%;
196
+ }
197
+ .errorExplanation h2 {
198
+ float: none;
199
+ background: #c00;
200
+ margin: 0;
201
+ color: #fff;
202
+ padding: 3px;
203
+ font-size: large;
204
+ }
205
+ .errorExplanation p {
206
+ padding: 3px;
207
+ margin: 3px 0;
208
+ }
209
+ .fieldWithErrors {
210
+ display: inline;
211
+ margin: 0; padding: 0;
212
+ }
213
+ .fieldWithErrors input[type="text"], .fieldWithErrors input[type="password"] {
214
+ border: 2px solid #c00;
215
+ }
216
+ .fieldWithErrors label {
217
+ color: #c00;
218
+ }
219
+
220
+ /* style for tables that are used as reports */
221
+ table {
222
+ border-collapse: collapse;
223
+ margin-bottom: 30px;
224
+ }
225
+ table thead tr {
226
+ border-bottom: 1px solid #000;
227
+ }
228
+ table thead th {
229
+ text-align: center;
230
+ }
231
+ table tbody th {
232
+ text-align: left;
233
+ vertical-align: top;
234
+ }
235
+ table tbody td {
236
+ padding: 2px 10px;
237
+ vertical-align: top;
238
+ }
239
+
240
+ /* makes something 100% width */
241
+ .wide {
242
+ width: 100%;
243
+ }
244
+
245
+ /* style for pagination */
246
+ .pagination {
247
+ padding: 3px;
248
+ margin: 15px 3px 3px 3px;
249
+ }
250
+ .pagination a {
251
+ padding: 2px 5px 2px 5px;
252
+ margin: 2px;
253
+ border: 1px solid #aaaadd;
254
+ text-decoration: none;
255
+ color: #36393d;
256
+ }
257
+ .pagination a:hover, .pagination a:active {
258
+ border: 1px solid #36393d;
259
+ color: #000;
260
+ }
261
+ .pagination span.current {
262
+ padding: 2px 5px 2px 5px;
263
+ margin: 2px;
264
+ border: 1px solid #36393d;
265
+ font-weight: bold;
266
+ background-color: #36393d;
267
+ color: #FFF;
268
+ }
269
+ .pagination span.disabled {
270
+ padding: 2px 5px 2px 5px;
271
+ margin: 2px;
272
+ border: 1px solid #eee;
273
+ color: #ddd;
274
+ }
275
+
276
+ /* styles for flashed messages and errors */
277
+ #message {
278
+ background: #ff8;
279
+ font-weight: bold;
280
+ padding: 5px 20px;
281
+ margin-top: 10px;
282
+ }
283
+ #error {
284
+ background: #c00;
285
+ font-weight: bold;
286
+ color: #fff;
287
+ padding: 5px 20px;
288
+ margin-top: 10px;
289
+ }
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ $LOAD_PATH.unshift "#{RAILTIES_PATH}/builtin/rails_info"
4
+ require 'commands/about'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/console'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/dbconsole'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/destroy'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/generate'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/benchmarker'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/profiler'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/request'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/plugin'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/inspector'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/reaper'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/spawner'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/runner'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/server'
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ class TestControllerTest < ActionController::TestCase
4
+ test "that adding custom stylesheets works" do
5
+ ControlCenter::Config.custom_css = {
6
+ "custom_css_1" => { :media => :all },
7
+ "custom_css_2" => { :media => :print }
8
+ }
9
+ get :index
10
+
11
+ # make sure custom_css_1 is there
12
+ assert_select "link[href=?]", /\/stylesheets\/custom_css_1.css.*/,
13
+ :count => 1
14
+ assert_select "link[media=?]", "all", :count => 1
15
+
16
+ # make sure custom_css_2 is there
17
+ assert_select "link[href=?]", /\/stylesheets\/custom_css_2.css.*/,
18
+ :count => 1
19
+ assert_select "link[media=?]", "print", :count => 1
20
+ end
21
+
22
+ test "that viewing a page with no custom stylesheets works" do
23
+ get :index
24
+
25
+ assert_response :success
26
+ end
27
+
28
+ test "that viewing a page with no attributes set to a stylesheet works" do
29
+ ControlCenter::Config.custom_css = {
30
+ "custom_css_1" => nil
31
+ }
32
+
33
+ get :index
34
+
35
+ assert_select "link[href=?]", /\/stylesheets\/custom_css_1.css.*/,
36
+ :count => 1
37
+ end
38
+
39
+ test "that adding custom javascripts works" do
40
+ ControlCenter::Config.include_javascript = %w(application prototype)
41
+
42
+ get :index
43
+
44
+ assert_select "script[src=?]", /\/javascripts\/application.js.*/,
45
+ :count => 1
46
+ assert_select "script[src=?]", /\/javascripts\/prototype.js.*/,
47
+ :count => 1
48
+ end
49
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+ require 'performance_test_help'
3
+
4
+ # Profiling results for each test method are written to tmp/performance.
5
+ class BrowsingTest < ActionController::PerformanceTest
6
+ def test_homepage
7
+ get '/'
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3
+ require 'test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
7
+ #
8
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
9
+ # -- they do not yet inherit this setting
10
+ fixtures :all
11
+
12
+ # Add more helper methods to be used by all tests here...
13
+ end