mugen 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/.gitignore +2 -0
  2. data/.travis.yml +5 -0
  3. data/CHANGELOG.md +3 -0
  4. data/Gemfile +5 -0
  5. data/LICENSE +20 -0
  6. data/README.md +65 -0
  7. data/Rakefile +31 -0
  8. data/autotest/discover.rb +1 -0
  9. data/generators/README +3 -0
  10. data/generators/USAGE +34 -0
  11. data/generators/mugen_generator.rb +63 -0
  12. data/generators/templates/app/controllers/mygengo/account_controller.rb +10 -0
  13. data/generators/templates/app/controllers/mygengo/comments_controller.rb +6 -0
  14. data/generators/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
  15. data/generators/templates/app/helpers/mugen_helper.rb +11 -0
  16. data/generators/templates/app/views/layouts/mygengo.html.erb +52 -0
  17. data/generators/templates/app/views/mygengo/account/_balance.haml +5 -0
  18. data/generators/templates/app/views/mygengo/account/_stats.haml +9 -0
  19. data/generators/templates/app/views/mygengo/account/index.haml +3 -0
  20. data/generators/templates/app/views/mygengo/comments/_comment.haml +7 -0
  21. data/generators/templates/app/views/mygengo/comments/_form.haml +10 -0
  22. data/generators/templates/app/views/mygengo/jobs/_comments.haml +8 -0
  23. data/generators/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
  24. data/generators/templates/app/views/mygengo/jobs/_job.haml +36 -0
  25. data/generators/templates/app/views/mygengo/jobs/_revision.haml +2 -0
  26. data/generators/templates/app/views/mygengo/jobs/index.haml +8 -0
  27. data/generators/templates/app/views/mygengo/jobs/new.haml +53 -0
  28. data/generators/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
  29. data/generators/templates/app/views/mygengo/jobs/review_form.haml +54 -0
  30. data/generators/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
  31. data/generators/templates/app/views/mygengo/jobs/revision.haml +8 -0
  32. data/generators/templates/app/views/mygengo/jobs/show.haml +38 -0
  33. data/generators/templates/config/initializers/mugen.rb +2 -0
  34. data/generators/templates/config/routes.rb +16 -0
  35. data/generators/templates/public/stylesheets/mygengo/base.css +397 -0
  36. data/generators/templates/public/stylesheets/mygengo/mugen.css +117 -0
  37. data/generators/templates/public/stylesheets/mygengo/override.css +1 -0
  38. data/generators/templates/public/stylesheets/mygengo/scaffold.css +56 -0
  39. data/generators/templates/public/stylesheets/mygengo/style.css +373 -0
  40. data/lib/generators/mugen/README +3 -0
  41. data/lib/generators/mugen/USAGE +35 -0
  42. data/lib/generators/mugen/mugen_generator.rb +50 -0
  43. data/lib/generators/mugen/templates/app/controllers/mygengo/account_controller.rb +10 -0
  44. data/lib/generators/mugen/templates/app/controllers/mygengo/comments_controller.rb +6 -0
  45. data/lib/generators/mugen/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
  46. data/lib/generators/mugen/templates/app/controllers/mygengo/mygengo_controller.rb +18 -0
  47. data/lib/generators/mugen/templates/app/helpers/mugen_helper.rb +11 -0
  48. data/lib/generators/mugen/templates/app/views/layouts/mygengo.html.erb +52 -0
  49. data/lib/generators/mugen/templates/app/views/mygengo/account/_balance.haml +5 -0
  50. data/lib/generators/mugen/templates/app/views/mygengo/account/_stats.haml +9 -0
  51. data/lib/generators/mugen/templates/app/views/mygengo/account/index.haml +3 -0
  52. data/lib/generators/mugen/templates/app/views/mygengo/comments/_comment.haml +7 -0
  53. data/lib/generators/mugen/templates/app/views/mygengo/comments/_form.haml +10 -0
  54. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_comments.haml +8 -0
  55. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
  56. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_job.haml +36 -0
  57. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_revision.haml +2 -0
  58. data/lib/generators/mugen/templates/app/views/mygengo/jobs/index.haml +8 -0
  59. data/lib/generators/mugen/templates/app/views/mygengo/jobs/new.haml +53 -0
  60. data/lib/generators/mugen/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
  61. data/lib/generators/mugen/templates/app/views/mygengo/jobs/review_form.haml +54 -0
  62. data/lib/generators/mugen/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
  63. data/lib/generators/mugen/templates/app/views/mygengo/jobs/revision.haml +8 -0
  64. data/lib/generators/mugen/templates/app/views/mygengo/jobs/show.haml +38 -0
  65. data/lib/generators/mugen/templates/config/initializers/mugen.rb +2 -0
  66. data/lib/generators/mugen/templates/config/routes2.rb +16 -0
  67. data/lib/generators/mugen/templates/config/routes3.rb +17 -0
  68. data/lib/generators/mugen/templates/public/images/mygengo/blank +0 -0
  69. data/lib/generators/mugen/templates/public/stylesheets/mygengo/base.css +397 -0
  70. data/lib/generators/mugen/templates/public/stylesheets/mygengo/mugen.css +117 -0
  71. data/lib/generators/mugen/templates/public/stylesheets/mygengo/override.css +1 -0
  72. data/lib/generators/mugen/templates/public/stylesheets/mygengo/scaffold.css +56 -0
  73. data/lib/generators/mugen/templates/public/stylesheets/mygengo/style.css +373 -0
  74. data/lib/mugen.rb +73 -0
  75. data/lib/mugen/account.rb +27 -0
  76. data/lib/mugen/client.rb +33 -0
  77. data/lib/mugen/core_extensions.rb +32 -0
  78. data/lib/mugen/httparty_extensions.rb +26 -0
  79. data/lib/mugen/job.rb +169 -0
  80. data/lib/mugen/jobs.rb +42 -0
  81. data/lib/mugen/service.rb +30 -0
  82. data/lib/mugen/version.rb +3 -0
  83. data/lib/tasks/mugen.rake +5 -0
  84. data/mugen.gemspec +33 -0
  85. data/rails/init.rb +1 -0
  86. data/spec/account_spec.rb +22 -0
  87. data/spec/job_spec.rb +40 -0
  88. data/spec/jobs_spec.rb +33 -0
  89. data/spec/mugen_spec.rb +33 -0
  90. data/spec/service_spec.rb +21 -0
  91. data/spec/spec_helper.rb +4 -0
  92. metadata +191 -0
@@ -0,0 +1,117 @@
1
+ .mygengo-box {
2
+ border: 1px dashed #000;
3
+ margin: 5px;
4
+ padding: 5px 0px 5px 15px;
5
+ width: 400px;
6
+ }
7
+
8
+ .hidden {
9
+ display: none;
10
+ }
11
+
12
+ .clear {
13
+ clear: all;
14
+ }
15
+
16
+ .mygengo-form {
17
+
18
+ }
19
+
20
+ .mygengo-form div{
21
+ }
22
+
23
+ .mygengo-form div.float{
24
+ float: left;
25
+ margin-right: 15px;
26
+ }
27
+ .mygengo-form div.left{
28
+ float: left;
29
+ margin-right: 15px;
30
+ }
31
+
32
+
33
+ .mygento-comments {
34
+
35
+ }
36
+
37
+ .mygengo-revisions {
38
+
39
+ }
40
+
41
+ table td {
42
+ padding: 6px 6px;
43
+ border-bottom: 1px solid #cccccc;
44
+ font-size: 1em;
45
+ line-height: 1.4em;
46
+ vertical-align: top;
47
+ }
48
+
49
+ .general {
50
+ margin: 1.4em 0; }
51
+ .general h2 {
52
+ font-size: 1.1em;
53
+ margin: 0; }
54
+
55
+ table.general {
56
+ width: 100%;
57
+ margin: 0.5em auto 1em auto;
58
+ border-top: 1px solid #cccccc;
59
+ background: white; }
60
+ table.general thead th {
61
+ font-weight: normal;
62
+ font-size: 0.95em;
63
+ line-height: 1em;
64
+ padding: 4px 6px;
65
+ border-bottom: 1px solid #cccccc;
66
+ background-color: #dddddd;
67
+ page-break-before: auto;
68
+ white-space: nowrap;
69
+ text-align: left; }
70
+ table.general thead th.right_align {
71
+ text-align: right; }
72
+ table.general thead th a {
73
+ color: #006699;
74
+ text-decoration: none;
75
+ border: 0; }
76
+ table.general thead.tabular th {
77
+ font-weight: normal;
78
+ font-size: 9px;
79
+ text-transform: uppercase;
80
+ line-height: 1em;
81
+ padding: 5px 6px;
82
+ background-color: #dddddd; }
83
+ table.general thead.tabular th.flag_label {
84
+ padding: 5px 2px; }
85
+ table.general tr.highlight {
86
+ background-color: #ecf7ff;
87
+ cursor: pointer; }
88
+ table.general tr.normal {
89
+ background: transparent; }
90
+ table.general td {
91
+ padding: 6px 6px;
92
+ border-bottom: 1px solid #cccccc;
93
+ font-size: 1em;
94
+ line-height: 1.4em;
95
+ vertical-align: top; }
96
+ table.general td.grouping_header {
97
+ font-weight: bold;
98
+ font-size: 0.9em;
99
+ line-height: 1.1em;
100
+ padding: 4px 6px;
101
+ border-bottom: 1px solid #cccccc;
102
+ color: #999999;
103
+ background-color: #f6f6f6; }
104
+ table.general td.header {
105
+ padding: 0.4em 0.5em;
106
+ vertical-align: bottom;
107
+ border-bottom: 1px solid #cccccc;
108
+ background-color: #eeeeee; }
109
+ table.general td.right_align {
110
+ text-align: right;
111
+ white-space: nowrap; }
112
+ table.general td.upper {
113
+ text-transform: uppercase; }
114
+ table.general tbody td.grouping_header {
115
+ padding: 6px; }
116
+ table.general tfoot td {
117
+ border: 0; }
@@ -0,0 +1 @@
1
+ /* Override here any style defined by web-app-theme */
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -0,0 +1,373 @@
1
+ /*
2
+
3
+ Drastic Dark
4
+ by Juan Maria Martinez Arce
5
+ juan[at]insignia4u.com
6
+
7
+ light grey: #cfcfcf
8
+ medium grey: #36393d
9
+ dark grey: #1a1a1a
10
+ interactive action yellow #ffff88
11
+ red #cc0000
12
+ light blue #E6EEFC
13
+ dark blue #0B43A8
14
+
15
+ */
16
+
17
+ .small {
18
+ font-size: 11px;
19
+ font-style: normal;
20
+ font-weight: normal;
21
+ text-transform: normal;
22
+ letter-spacing: normal;
23
+ line-height: 1.4em;
24
+ }
25
+
26
+ .gray {
27
+ color:#999999;
28
+ font-family: Georgia, serif;
29
+ font-size: 13px;
30
+ font-style: italic;
31
+ font-weight: normal;
32
+ text-transform: normal;
33
+ letter-spacing: normal;
34
+ line-height: 1.6em;
35
+ }
36
+
37
+ .hightlight {
38
+ background-color: #ffff88;
39
+ font-weight: bold;
40
+ color: #36393d;
41
+ }
42
+
43
+ a:link, a:visited, a:hover, a:active, h1, h2, h3 { color: #36393d; }
44
+ a { -moz-outline: none; }
45
+
46
+ body {
47
+ color: #222;
48
+ background: #cfcfcf;
49
+ font-family: helvetica, arial, sans-serif;
50
+ }
51
+
52
+ hr {
53
+ background: #f0f0ee;
54
+ color: #f0f0ee;
55
+ }
56
+
57
+ #header {
58
+ background: #36393d;
59
+ }
60
+
61
+ #header h1 {
62
+ padding: 15px 0;
63
+ font-size: 28px;
64
+ font-style: normal;
65
+ font-weight: bold;
66
+ text-transform: normal;
67
+ letter-spacing: -1px;
68
+ line-height: 1.2em;
69
+ }
70
+
71
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
72
+ color: #FFF;
73
+ }
74
+
75
+ #user-navigation {
76
+ top: auto;
77
+ bottom: 5px;
78
+ right: 25px;
79
+ }
80
+
81
+ #user-navigation a.logout {
82
+ background: #cc0000;
83
+ padding: 1px 4px;
84
+ -moz-border-radius: 4px;
85
+ -webkit-border-radius: 3px;
86
+ }
87
+
88
+ #main .block .content {
89
+ background: #FFF;
90
+ padding-top: 1px;
91
+ }
92
+
93
+ #main .block .content h2 {
94
+ margin-left: 15px;
95
+ font-size: 22px;
96
+ font-style: normal;
97
+ font-weight: bold;
98
+ text-transform: normal;
99
+ letter-spacing: -1px;
100
+ line-height: 1.2em;
101
+ }
102
+
103
+ #main .block .content p {
104
+ font-size: 13px;
105
+ font-style: normal;
106
+ font-weight: normal;
107
+ text-transform: normal;
108
+ letter-spacing: normal;
109
+ line-height: 1.45em;
110
+ }
111
+
112
+ #sidebar .block {
113
+ background: #FFF;
114
+ }
115
+
116
+ #sidebar .block h4 {
117
+ font-weight: bold;
118
+ }
119
+
120
+ #sidebar .notice {
121
+ background: #E6EEFC;
122
+ }
123
+
124
+ #sidebar .notice h4 {
125
+ color: #0B43A8;
126
+ }
127
+
128
+ #sidebar h3 {
129
+ background: #36393d;
130
+ color: #FFF;
131
+ border-bottom: 5px solid #1a1a1a;
132
+ }
133
+
134
+ #main-navigation ul li {
135
+ padding-left: 15px;
136
+ }
137
+
138
+ #main-navigation ul li a {
139
+ padding: 8px 0;
140
+ }
141
+
142
+ #main-navigation ul li.active {
143
+ padding: 0;
144
+ margin-left: 15px;
145
+ }
146
+
147
+ #main-navigation ul li.active {
148
+ margin-left: 15px;
149
+ }
150
+
151
+ #main-navigation ul li.active a {
152
+ padding: 8px 15px;
153
+ }
154
+
155
+ #sidebar ul li a:link, #sidebar ul li a:visited {
156
+ background: #FFF;
157
+ border-bottom: 1px solid #F0F0EE;
158
+ text-decoration: none;
159
+ }
160
+
161
+ #sidebar ul li a:hover, #sidebar ul li a:active {
162
+ background: #666666;
163
+ color: #ffffff;;
164
+ }
165
+
166
+ #main-navigation {
167
+ background: #1a1a1a;
168
+ }
169
+
170
+ #main-navigation ul li {
171
+ background: #1a1a1a;
172
+ margin-right: 0;
173
+ }
174
+
175
+ #main-navigation ul li.active {
176
+ background: #f0f0ee;
177
+ }
178
+
179
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
180
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
181
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
182
+ text-decoration: none;
183
+ color: #FFF;
184
+ }
185
+
186
+ .secondary-navigation li a:hover {
187
+ background: #666666;
188
+ }
189
+
190
+ #main-navigation ul li.active a:link, #main-navigation ul li.active a:visited, #main-navigation ul li.active a:hover, #main-navigation ul li.active a:active {
191
+ color: #1a1a1a;
192
+ }
193
+
194
+ .secondary-navigation {
195
+ background: #36393d;
196
+ border-bottom-color: #1a1a1a;
197
+ }
198
+
199
+ .secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
200
+ background-color: #1a1a1a;
201
+ }
202
+
203
+ #footer .block {
204
+ color: #FFF;
205
+ background: #1a1a1a;
206
+ }
207
+
208
+ #footer .block p {
209
+ margin: 0;
210
+ padding: 10px;
211
+ }
212
+
213
+ /* pagination */
214
+
215
+ .pagination a, .pagination span {
216
+ background: #cfcfcf;
217
+ -moz-border-radius: 3px;
218
+ border: 1px solid #c1c1c1;
219
+ }
220
+
221
+ .pagination em {
222
+ background: #36393d;
223
+ color: #FFF;
224
+ border: 1px solid #36393d;
225
+ }
226
+
227
+ .pagination a {
228
+ color: #1a1a1a;
229
+ }
230
+
231
+ .pagination a:hover {
232
+ border: 1px solid #666;
233
+ }
234
+
235
+ /* tables */
236
+
237
+ .table th {
238
+ background: #36393d;
239
+ color: #FFF;
240
+ }
241
+
242
+ .table td {
243
+ border-bottom:1px solid #F0F0EE;
244
+ }
245
+
246
+ .table tr.even {
247
+ background: #ebebeb;
248
+ }
249
+
250
+ /* forms */
251
+
252
+ .form label.label {
253
+ color: #666666;
254
+ }
255
+
256
+ .form input.text_field, .form textarea.text_area {
257
+ width: 100%;
258
+ border: 1px solid #cfcfcf;
259
+ }
260
+
261
+ .form input.button {
262
+ background: #cfcfcf;
263
+ -moz-border-radius: 5px;
264
+ border: 1px solid #c1c1c1;
265
+ padding: 2px 5px;
266
+ cursor: pointer;
267
+ color: #36393d;
268
+ font-weight: bold;
269
+ font-size: 11px;
270
+ }
271
+
272
+ .form input.button:hover {
273
+ border: 1px solid #666;
274
+ }
275
+
276
+ .form .description {
277
+ font-style: italic;
278
+ color: #8C8C8C;
279
+ font-size: .9em;
280
+ }
281
+
282
+ .form .navform a {
283
+ color: #cc0000;
284
+ }
285
+
286
+ /* flash-messages */
287
+ .flash .message {
288
+ -moz-border-radius: 3px;
289
+ -webkit-border-radius: 3px;
290
+ text-align:center;
291
+ margin: 0 auto 15px;
292
+
293
+ }
294
+
295
+ .flash .message p {
296
+ margin:8px;
297
+ }
298
+ .flash .error {
299
+ border: 1px solid #fbb;
300
+ background-color: #fdd;
301
+ }
302
+ .flash .warning {
303
+ border: 1px solid #fffaaa;
304
+ background-color: #ffffcc;
305
+ }
306
+ .flash .notice {
307
+ border: 1px solid #1FDF00;
308
+ background-color: #BBFFB6;
309
+ }
310
+
311
+ /* lists */
312
+
313
+ ul.list li {
314
+ border-bottom-color: #F0F0EE;
315
+ border-bottom-width: 1px;
316
+ border-bottom-style: solid;
317
+ }
318
+
319
+ ul.list li .item .avatar {
320
+ border-color: #F0F0EE;
321
+ border-width: 1px;
322
+ border-style: solid;
323
+ padding: 2px;
324
+ }
325
+
326
+ /* box */
327
+
328
+ #box .block {
329
+ background: #FFF;
330
+ }
331
+
332
+ #box .block h2 {
333
+ background: #36393d;
334
+ color: #FFF;
335
+ }
336
+
337
+
338
+ /* rounded borders */
339
+
340
+ #main, #main-navigation, #main-navigation li, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
341
+ #footer .block, .form input.button, #box .block, #box .block h2 {
342
+ -moz-border-radius-topleft: 4px;
343
+ -webkit-border-top-left-radius: 4px;
344
+ -moz-border-radius-topright: 4px;
345
+ -webkit-border-top-right-radius: 4px;
346
+ }
347
+
348
+ .secondary-navigation li.first a, .secondary-navigation ul li.first, .table th.first, .table th.first {
349
+ -moz-border-radius-topleft: 4px;
350
+ -webkit-border-top-left-radius: 4px;
351
+ }
352
+
353
+ .table th.last {
354
+ -moz-border-radius-topright: 4px;
355
+ -webkit-border-top-right-radius: 4px;
356
+ }
357
+
358
+ .secondary-navigation ul li.first {
359
+ -moz-border-radius-topleft: 4px;
360
+ -webkit-border-top-left-radius: 4px;
361
+ }
362
+
363
+ #sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
364
+ -moz-border-radius-bottomleft: 4px;
365
+ -webkit-border-bottom-left-radius: 4px;
366
+ -moz-border-radius-bottomright: 4px;
367
+ -webkit-border-bottom-right-radius: 4px;
368
+ }
369
+
370
+ .secondary-navigation {
371
+ border-bottom-width: 5px;
372
+ }
373
+