ruote-kit 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/.document +0 -0
  2. data/.gitignore +8 -0
  3. data/Gemfile +10 -0
  4. data/README.rdoc +132 -0
  5. data/Rakefile +57 -0
  6. data/config.ru +21 -0
  7. data/lib/ruote-kit/application.rb +50 -0
  8. data/lib/ruote-kit/configuration.rb +52 -0
  9. data/lib/ruote-kit/helpers/engine_helpers.rb +24 -0
  10. data/lib/ruote-kit/helpers/form_helpers.rb +11 -0
  11. data/lib/ruote-kit/helpers/launch_item_parser.rb +59 -0
  12. data/lib/ruote-kit/helpers/navigation_helpers.rb +54 -0
  13. data/lib/ruote-kit/helpers/render_helpers.rb +103 -0
  14. data/lib/ruote-kit/helpers.rb +9 -0
  15. data/lib/ruote-kit/public/_ruote/images/bg.gif +0 -0
  16. data/lib/ruote-kit/public/_ruote/images/bg_button_left.gif +0 -0
  17. data/lib/ruote-kit/public/_ruote/images/bg_button_left_cancel.gif +0 -0
  18. data/lib/ruote-kit/public/_ruote/images/bg_button_left_submit.gif +0 -0
  19. data/lib/ruote-kit/public/_ruote/images/bg_button_right.gif +0 -0
  20. data/lib/ruote-kit/public/_ruote/javascripts/SimplyButtons.js +191 -0
  21. data/lib/ruote-kit/public/_ruote/javascripts/fluo-can.js +1111 -0
  22. data/lib/ruote-kit/public/_ruote/javascripts/fluo-dial.js +149 -0
  23. data/lib/ruote-kit/public/_ruote/javascripts/fluo-json.js +183 -0
  24. data/lib/ruote-kit/public/_ruote/javascripts/fluo-tred.js +515 -0
  25. data/lib/ruote-kit/public/_ruote/stylesheets/SimplyButtons.css +226 -0
  26. data/lib/ruote-kit/public/_ruote/stylesheets/base.css +336 -0
  27. data/lib/ruote-kit/public/_ruote/stylesheets/rk.css +30 -0
  28. data/lib/ruote-kit/public/_ruote/stylesheets/style.css +393 -0
  29. data/lib/ruote-kit/resources/expressions.rb +55 -0
  30. data/lib/ruote-kit/resources/processes.rb +52 -0
  31. data/lib/ruote-kit/resources/workitems.rb +64 -0
  32. data/lib/ruote-kit/spec/ruote_helpers.rb +47 -0
  33. data/lib/ruote-kit/vendor/sinatra-respond_to/LICENSE +21 -0
  34. data/lib/ruote-kit/vendor/sinatra-respond_to/README.markdown +102 -0
  35. data/lib/ruote-kit/vendor/sinatra-respond_to/Rakefile +30 -0
  36. data/lib/ruote-kit/vendor/sinatra-respond_to/VERSION.yml +4 -0
  37. data/lib/ruote-kit/vendor/sinatra-respond_to/lib/sinatra/respond_to.rb +206 -0
  38. data/lib/ruote-kit/vendor/sinatra-respond_to/sinatra-respond_to.gemspec +56 -0
  39. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static folder/.keep +0 -0
  40. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static.txt +1 -0
  41. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/test_app.rb +53 -0
  42. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/unreachable_static.txt +1 -0
  43. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/layout.html.haml +2 -0
  44. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.html.haml +1 -0
  45. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.js.erb +3 -0
  46. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.xml.builder +3 -0
  47. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/extension_spec.rb +403 -0
  48. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/spec_helper.rb +18 -0
  49. data/lib/ruote-kit/views/expression.html.haml +38 -0
  50. data/lib/ruote-kit/views/expressions.html.haml +30 -0
  51. data/lib/ruote-kit/views/index.html.haml +1 -0
  52. data/lib/ruote-kit/views/launch_process.html.haml +19 -0
  53. data/lib/ruote-kit/views/layout.html.haml +46 -0
  54. data/lib/ruote-kit/views/process.html.haml +55 -0
  55. data/lib/ruote-kit/views/processes.html.haml +27 -0
  56. data/lib/ruote-kit/views/resource_not_found.html.haml +7 -0
  57. data/lib/ruote-kit/views/workitem.html.haml +39 -0
  58. data/lib/ruote-kit/views/workitems.html.haml +23 -0
  59. data/lib/ruote-kit.rb +105 -0
  60. data/ruote-kit.gemspec +136 -0
  61. data/spec/helpers/render_helpers_spec.rb +211 -0
  62. data/spec/resources/expressions_spec.rb +179 -0
  63. data/spec/resources/index_spec.rb +46 -0
  64. data/spec/resources/processes_spec.rb +259 -0
  65. data/spec/resources/workitems_spec.rb +308 -0
  66. data/spec/ruote-kit_spec.rb +4 -0
  67. data/spec/spec.opts +2 -0
  68. data/spec/spec_helper.rb +152 -0
  69. data/spec/views/launch_process.html.haml_spec.rb +21 -0
  70. data/spec/views/process.html.haml_spec.rb +16 -0
  71. data/spec/views/processes.html.haml_spec.rb +30 -0
  72. data/spec/views/workitems.html.haml_spec.rb +68 -0
  73. metadata +185 -0
@@ -0,0 +1,226 @@
1
+ /*--------------------------------------------------------------------------------------------------
2
+
3
+ Simply Buttons, version 1.0
4
+ (c) 2007-2009 Kevin Miller
5
+
6
+ This script is freely distributable under the terms of an MIT-style license.
7
+
8
+ BUTTON DEFINITIONS
9
+
10
+ Edit below at your own risk, everything done here is for a reason for cross browser
11
+ compatibility so that the buttons will appear identical in the tested browsers.
12
+
13
+ Tested on: IE6 IE7 FF(PC/MAC) Safari SafariMobile Opera(PC/MAC)
14
+
15
+ --------------------------------------------------------------------------------------------------*/
16
+
17
+ button,
18
+ a.button,
19
+ a.button:link,
20
+ a.button:visited {
21
+ /*
22
+ Strip down the button and link elements to a base we can work with.
23
+ */
24
+ padding: 0 0 0 0;
25
+ margin: 0 3px 0 3px;
26
+ border: none;
27
+ display: block;
28
+ float: left;
29
+ cursor: pointer;
30
+ text-decoration: none;
31
+ outline: none;
32
+ white-space: nowrap;
33
+ overflow: visible;
34
+ }
35
+
36
+ * html a.button,
37
+ * html a.button:link,
38
+ * html a.button:visited {
39
+ /*
40
+ IE6 fix to make link fit text.
41
+ */
42
+ width: 1%;
43
+ }
44
+
45
+ button, x:-moz-any-link {
46
+ /*
47
+ FF fix to make button spacing even across browsers.
48
+ */
49
+ margin: 0 0 0 0;
50
+ }
51
+
52
+ *:first-child+html button {
53
+ /*
54
+ Reset IE7 back to what it was for previous fix.
55
+ */
56
+ margin: 0 3px 0 3px;
57
+ }
58
+
59
+ button span,
60
+ a.button span,
61
+ a.button:link span,
62
+ a.button:visited span {
63
+ /*
64
+ Set the span tags to display: block, as they will work our background-image magic.
65
+ */
66
+ display: block;
67
+ }
68
+
69
+ /*--------------------------------------------------------------------------------------------------
70
+
71
+ CUSTOMIZATIONS
72
+
73
+ Edit below to change the look and feel of the buttons and even add more classes for
74
+ different looks and feels.
75
+
76
+ --------------------------------------------------------------------------------------------------*/
77
+
78
+ button,
79
+ a.button,
80
+ a.button:link,
81
+ a.button:visited {
82
+ /*
83
+ HEIGHT - Total height of button.
84
+ */
85
+ height: 26px;
86
+
87
+ /*
88
+ NOTE - You must define the font here otherwise your buttons and links could end up diffrent.
89
+ */
90
+ font-family: "Helvetica Neue", Helvetica, clean, sans-serif;
91
+
92
+ font-size: 13px;
93
+ color: #666666;
94
+ background-color: #ffffff;
95
+ }
96
+
97
+ button.button_active,
98
+ a.button_active {
99
+ }
100
+
101
+ button span,
102
+ a.button span,
103
+ a.button:link span,
104
+ a.button:visited span {
105
+ /*
106
+ Right side padding for button (default).
107
+ */
108
+ padding: 0 14px 0 0;
109
+
110
+ /*
111
+ SPAN HEIGHT - This should be 2px smaller than the height set on the button (see HEIGHT).
112
+ */
113
+ height: 24px;
114
+
115
+ /*
116
+ We define our background top left and use the 'Sliding Doors' Technique for some fast loading buttons.
117
+ */
118
+ background: url(../images/bg_button_right.gif) top right;
119
+ }
120
+
121
+ button span span,
122
+ a.button span span,
123
+ a.button:link span span,
124
+ a.button:visited span span {
125
+ /*
126
+ Left side padding for button (default).
127
+ */
128
+ padding: 0 0 0 13px;
129
+
130
+ /*
131
+ SPAN HEIGHT - This should be 1px smaller than the height set on the button (see HEIGHT).
132
+ */
133
+ height: 24px;
134
+
135
+ /*
136
+ SPAN LINE-HEIGHT - This should be 1px smaller than the height set on the button (see HEIGHT) and will
137
+ center the text vertcailly.
138
+ */
139
+ line-height: 24px;
140
+
141
+ /*
142
+ We define our background top left and use the 'Sliding Doors' Technique for some fast loading buttons.
143
+ */
144
+ background: url(../images/bg_button_left.gif) top left;
145
+ }
146
+
147
+ button:hover,
148
+ a.button:hover {
149
+ color: #000000;
150
+ }
151
+
152
+ button.submit span,
153
+ a.submit span,
154
+ a.submit:link span,
155
+ a.submit:visited span {
156
+ }
157
+
158
+ button.submit span span,
159
+ a.submit span span,
160
+ a.submit:link span span,
161
+ a.submit:visited span span {
162
+ /*
163
+ Give some extra space for the icon.
164
+ */
165
+ padding-left: 26px;
166
+
167
+ /*
168
+ Add in a left side piece with an icon.
169
+ */
170
+ background-image: url(../images/bg_button_left_submit.gif);
171
+ }
172
+
173
+ button.submit:hover,
174
+ a.submit:hover {
175
+ }
176
+
177
+ button.cancel span,
178
+ a.cancel span,
179
+ a.cancel:link span,
180
+ a.cancel:visited span {
181
+ }
182
+
183
+ button.cancel span span,
184
+ a.cancel span span,
185
+ a.cancel:link span span,
186
+ a.cancel:visited span span {
187
+ /*
188
+ Give some extra space for the icon.
189
+ */
190
+ padding-left: 26px;
191
+
192
+ /*
193
+ Add in a left side piece with an icon.
194
+ */
195
+ background-image: url(../images/bg_button_left_cancel.gif);
196
+ }
197
+
198
+ button.cancel:hover,
199
+ a.cancel:hover {
200
+ }
201
+
202
+ button:active span,
203
+ a:active:active span,
204
+ /*
205
+ 'button_active' is the class used by SimplyButtons.js to create the button states in IE.
206
+ */
207
+ button.button_active span,
208
+ a.button_active:active span {
209
+ /*
210
+ Using the 'Sliding Doors' Technique we 'slide' the new button state into view.
211
+ */
212
+ background-position: bottom right;
213
+ }
214
+
215
+ button:active span span,
216
+ a:active:active span span,
217
+ /*
218
+ 'button_active' is the class used by SimplyButtons.js to create the button states in IE.
219
+ */
220
+ button.button_active span span,
221
+ a.button_active:active span span {
222
+ /*
223
+ Using the 'Sliding Doors' Technique we 'slide' the new button state into view.
224
+ */
225
+ background-position: bottom left;
226
+ }
@@ -0,0 +1,336 @@
1
+ * {margin:0;padding:0}
2
+ .clear { clear: both; height: 0; }
3
+
4
+ h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
5
+ h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
6
+ h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
7
+ h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
8
+ hr {height: 1px; border: 0; }
9
+ p { margin: 15px 0;}
10
+ a img { border: none; }
11
+
12
+ body {
13
+ font-size: 12px;
14
+ font-family: sans-serif;
15
+ }
16
+
17
+ #container {
18
+ min-width: 960px;
19
+ }
20
+
21
+ #header, #wrapper {
22
+ padding: 0 20px;
23
+ }
24
+
25
+ #header {
26
+ position: relative;
27
+ padding-top: 1px;
28
+ }
29
+
30
+ #header h1 {
31
+ margin: 0;
32
+ padding: 10px 0;
33
+ font-size: 30px;
34
+ }
35
+
36
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
37
+ text-decoration: none;
38
+ }
39
+
40
+ #main {
41
+ /*width: 70%;
42
+ float: left; */
43
+ }
44
+
45
+ .actions-bar {
46
+ padding: 10px 1px;
47
+ }
48
+
49
+ .actions-bar .actions {
50
+ float: left;
51
+ }
52
+
53
+
54
+ .actions-bar .pagination {
55
+ float: right;
56
+ padding: 1px 0;
57
+ }
58
+
59
+ #sidebar {
60
+ width: 25%;
61
+ float: right;
62
+ }
63
+
64
+ #sidebar h3 {
65
+ padding: 10px 15px;
66
+ margin: 0;
67
+ font-size: 13px;
68
+ }
69
+
70
+ #sidebar .block {
71
+ margin-bottom: 20px;
72
+ padding-bottom: 10px;
73
+ }
74
+
75
+ #sidebar .block .content {
76
+ padding: 0 15px;
77
+ }
78
+
79
+ #sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
80
+ display: block;
81
+ padding: 10px 15px;
82
+ }
83
+
84
+ #sidebar .block .sidebar-block, #sidebar .notice {
85
+ padding:10px;
86
+ }
87
+
88
+ #wrapper {
89
+ padding-top: 20px;
90
+ }
91
+
92
+ #main .block {
93
+ margin-bottom: 20px;
94
+ padding-top: 1px;
95
+ }
96
+
97
+ #main .block .content .inner {
98
+ padding: 0 15px 15px;
99
+ }
100
+
101
+ #main .main p.first {
102
+ margin-top: 0;
103
+ }
104
+
105
+ #user-navigation {
106
+ position: absolute;
107
+ top: 0px;
108
+ right: 20px;
109
+ }
110
+
111
+ #main-navigation {
112
+ width: 100%;
113
+ }
114
+
115
+ #user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
116
+ margin: 0;
117
+ padding: 0;
118
+ list-style-type: none;
119
+ }
120
+
121
+ #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
122
+ float: left;
123
+ }
124
+
125
+ #main-navigation ul li {
126
+ margin-right: 5px;
127
+ }
128
+
129
+ #user-navigation ul li {
130
+ padding: 5px 10px;
131
+ }
132
+
133
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
134
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
135
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
136
+ text-decoration: none;
137
+ }
138
+
139
+ #main-navigation ul li a {
140
+ font-size: 15px;
141
+ display: block;
142
+ padding: 8px 15px;
143
+ }
144
+
145
+ .secondary-navigation {
146
+ font-size: 13px;
147
+ border-bottom-width: 10px;
148
+ border-bottom-style: solid;
149
+ }
150
+
151
+ .secondary-navigation ul li a {
152
+ display: block;
153
+ padding: 10px 15px;
154
+ }
155
+
156
+ #footer {
157
+ padding-bottom: 20px;
158
+ }
159
+
160
+ /* pagination */
161
+
162
+ .pagination a, .pagination span {
163
+ padding: 2px 5px;
164
+ margin-right: 5px;
165
+ display: block;
166
+ float: left;
167
+ border-style: solid;
168
+ border-width: 1px;
169
+ }
170
+
171
+ .pagination span.current {
172
+ font-weight: bold;
173
+ }
174
+
175
+ .pagination a {
176
+ text-decoration: none;
177
+ }
178
+
179
+ /* tables */
180
+ .table {
181
+ width: 100%;
182
+ border-collapse: collapse;
183
+ margin-bottom: 15px;
184
+ }
185
+
186
+ .table th {
187
+ padding: 10px;
188
+ font-weight: bold;
189
+ text-align: left;
190
+ }
191
+
192
+ .table th.first {
193
+ width: 30px;
194
+ }
195
+
196
+ .table th.last {
197
+ width: 200px;
198
+ }
199
+
200
+ .table .checkbox {
201
+ margin-left: 10px;
202
+ }
203
+
204
+ .table td {
205
+ padding: 10px;
206
+ }
207
+
208
+ .table td.last {
209
+ text-align: right;
210
+ }
211
+
212
+ /* forms */
213
+
214
+ input.checkbox {
215
+ margin: 0;
216
+ padding: 0;
217
+ }
218
+
219
+ .form .group {
220
+ margin-bottom: 15px;
221
+ }
222
+
223
+ .form div.left {
224
+ width: 20%;
225
+ float: left;
226
+ }
227
+
228
+ .form div.right {
229
+ width: 75%;
230
+ float: right;
231
+ }
232
+
233
+ .form .columns .column {
234
+ width: 48%;
235
+ }
236
+
237
+ .form .columns .left {
238
+ float: left;
239
+ }
240
+
241
+ .form .columns .right {
242
+ float: right;
243
+ }
244
+
245
+ .form label.label, .form input.text_field, .form textarea.text_area {
246
+ font-size: 1.2em;
247
+ padding: 1px 0;
248
+ margin: 0;
249
+ }
250
+
251
+ .form label.right {
252
+ text-align: right;
253
+ }
254
+
255
+ .form input.checkbox, .form input.radio {
256
+ margin-right: 5px;
257
+ }
258
+
259
+ .form label.checkbox, .form label.radio {
260
+ line-height: 1.5em;
261
+ }
262
+
263
+ .form label.label {
264
+ display: block;
265
+ padding-bottom: 2px;
266
+ font-weight: bold;
267
+ }
268
+
269
+ .form div.fieldWithErrors label.label {
270
+ display: inline;
271
+ }
272
+
273
+ .form .fieldWithErrors .error {
274
+ color: red;
275
+ }
276
+
277
+ .form input.text_field, .form textarea.text_area {
278
+ width: 100%;
279
+ border-width: 1px;
280
+ border-style: solid;
281
+ }
282
+
283
+ /* lists */
284
+
285
+ ul.list {
286
+ margin: 0;
287
+ padding: 0;
288
+ list-style-type: none;
289
+ }
290
+
291
+ ul.list li {
292
+ clear: left;
293
+ padding-bottom: 5px;
294
+ }
295
+
296
+ ul.list li .left {
297
+ float: left;
298
+ }
299
+
300
+ ul.list li .left .avatar {
301
+ width: 50px;
302
+ height: 50px;
303
+ }
304
+
305
+ ul.list li .item {
306
+ margin-left: 80px;
307
+ }
308
+
309
+ ul.list li .item .avatar {
310
+ float: left;
311
+ margin: 0 5px 5px 0;
312
+ width: 30px;
313
+ height: 30px;
314
+ }
315
+
316
+ /* box */
317
+
318
+ #box {
319
+ width: 500px;
320
+ margin: 50px auto;
321
+ }
322
+
323
+ #box .block {
324
+ margin-bottom: 20px;
325
+ }
326
+
327
+ #box .block h2 {
328
+ padding: 10px 15px;
329
+ margin: 0;
330
+ }
331
+
332
+ #box .block .content {
333
+ padding: 10px 20px;
334
+ }
335
+
336
+
@@ -0,0 +1,30 @@
1
+ /** Custom styles for rk **/
2
+
3
+ ul.nolist {
4
+ list-style-type: none;
5
+ }
6
+
7
+ ul.nested_list {
8
+ list-style-type: none;
9
+ }
10
+ ul.nested_list > li {
11
+ padding: 4px 0;
12
+ }
13
+ ul.nested_list li ul {
14
+ list-style-type: none;
15
+ color: #999;
16
+ }
17
+
18
+ div.options {
19
+ width: 250px;
20
+ float: right;
21
+ }
22
+
23
+ .force-block {
24
+ display: block;
25
+ float: none;
26
+ }
27
+
28
+ .b5 {
29
+ margin-bottom: 5px;
30
+ }