ruote-kit 2.1.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 (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
+ }