echo_base 0.0.1 → 0.0.2

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 (134) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -3
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +51 -2
  6. data/VERSION +1 -0
  7. data/echo_base.gemspec +165 -15
  8. data/lib/echo_base.rb +0 -3
  9. data/lib/generators/echo_base/USAGE +5 -0
  10. data/lib/generators/echo_base/echo_base_generator.rb +44 -0
  11. data/lib/generators/echo_base/templates/.infinity_test +25 -0
  12. data/lib/generators/echo_base/templates/.rspec +1 -0
  13. data/lib/generators/echo_base/templates/.rvmrc +1 -0
  14. data/lib/generators/echo_base/templates/Capfile +4 -0
  15. data/lib/generators/echo_base/templates/Gemfile +37 -0
  16. data/lib/generators/echo_base/templates/Gemfile.lock +235 -0
  17. data/lib/generators/echo_base/templates/app/controllers/application_controller.rb +20 -0
  18. data/lib/generators/echo_base/templates/app/controllers/sessions_controller.rb +15 -0
  19. data/lib/generators/echo_base/templates/app/controllers/users_controller.rb +83 -0
  20. data/lib/generators/echo_base/templates/app/helpers/application_helper.rb +2 -0
  21. data/lib/generators/echo_base/templates/app/helpers/sessions_helper.rb +2 -0
  22. data/lib/generators/echo_base/templates/app/helpers/users_helper.rb +2 -0
  23. data/lib/generators/echo_base/templates/app/models/authorization.rb +14 -0
  24. data/lib/generators/echo_base/templates/app/models/user.rb +11 -0
  25. data/lib/generators/echo_base/templates/app/views/shared/_js.html.erb +14 -0
  26. data/lib/generators/echo_base/templates/app/views/users/_form.html.erb +37 -0
  27. data/lib/generators/echo_base/templates/app/views/users/_sidebar.html.erb +13 -0
  28. data/lib/generators/echo_base/templates/app/views/users/edit.html.erb +19 -0
  29. data/lib/generators/echo_base/templates/app/views/users/index.html.erb +48 -0
  30. data/lib/generators/echo_base/templates/app/views/users/new.html.erb +18 -0
  31. data/lib/generators/echo_base/templates/app/views/users/show.html.erb +44 -0
  32. data/lib/generators/echo_base/templates/application.html.erb +48 -0
  33. data/lib/generators/echo_base/templates/autotest/discover.rb +2 -0
  34. data/lib/generators/echo_base/templates/config/cucumber.yml +8 -0
  35. data/lib/generators/echo_base/templates/config/deploy.rb +24 -0
  36. data/lib/generators/echo_base/templates/config/environments/development.rb +26 -0
  37. data/lib/generators/echo_base/templates/config/environments/production.rb +50 -0
  38. data/lib/generators/echo_base/templates/config/environments/test.rb +35 -0
  39. data/lib/generators/echo_base/templates/config/initializers/hoptoad.rb +4 -0
  40. data/lib/generators/echo_base/templates/config/initializers/omniauth.rb +10 -0
  41. data/lib/generators/echo_base/templates/config/newrelic.yml.example +0 -0
  42. data/lib/generators/echo_base/templates/config/omniauth.yml.example +62 -0
  43. data/lib/generators/echo_base/templates/config/routes.rb +5 -0
  44. data/lib/generators/echo_base/templates/db/migrate/20101008210657_create_authorizations.rb +15 -0
  45. data/lib/generators/echo_base/templates/db/migrate/20101009192412_create_users.rb +17 -0
  46. data/lib/generators/echo_base/templates/features/manage_authentications.feature +45 -0
  47. data/lib/generators/echo_base/templates/features/manage_users.feature +45 -0
  48. data/lib/generators/echo_base/templates/features/step_definitions/authentication_steps.rb +14 -0
  49. data/lib/generators/echo_base/templates/features/step_definitions/users_steps.rb +14 -0
  50. data/lib/generators/echo_base/templates/features/step_definitions/web_steps.rb +219 -0
  51. data/lib/generators/echo_base/templates/features/support/env.rb +57 -0
  52. data/lib/generators/echo_base/templates/features/support/paths.rb +39 -0
  53. data/lib/generators/echo_base/templates/public/404.html +26 -0
  54. data/lib/generators/echo_base/templates/public/422.html +26 -0
  55. data/lib/generators/echo_base/templates/public/500.html +26 -0
  56. data/lib/generators/echo_base/templates/public/favicon.ico +0 -0
  57. data/lib/generators/echo_base/templates/public/images/web-app-theme/arrow.png +0 -0
  58. data/lib/generators/echo_base/templates/public/images/web-app-theme/avatar.png +0 -0
  59. data/lib/generators/echo_base/templates/public/images/web-app-theme/boxbar-background.png +0 -0
  60. data/lib/generators/echo_base/templates/public/images/web-app-theme/breadcrumb.png +0 -0
  61. data/lib/generators/echo_base/templates/public/images/web-app-theme/button-background-active.png +0 -0
  62. data/lib/generators/echo_base/templates/public/images/web-app-theme/button-background.png +0 -0
  63. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/about +12 -0
  64. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/anchor-hover.png +0 -0
  65. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/anchor.png +0 -0
  66. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/cross-hover.png +0 -0
  67. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/cross.png +0 -0
  68. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/download-hover.png +0 -0
  69. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/download.png +0 -0
  70. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/edit-hover.png +0 -0
  71. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/edit.png +0 -0
  72. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/export-hover.png +0 -0
  73. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/export.png +0 -0
  74. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/show-hover.png +0 -0
  75. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/24/show.png +0 -0
  76. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/add.png +0 -0
  77. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/application_edit.png +0 -0
  78. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/calendar-hover.png +0 -0
  79. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/calendar.png +0 -0
  80. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/cross.png +0 -0
  81. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/delete.png +0 -0
  82. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/download.png +0 -0
  83. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/edit.png +0 -0
  84. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/key.png +0 -0
  85. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/pdf.png +0 -0
  86. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/search.png +0 -0
  87. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/see-less.png +0 -0
  88. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/see-more.png +0 -0
  89. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/send-mail.png +0 -0
  90. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/show.png +0 -0
  91. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/source +1 -0
  92. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/tick.png +0 -0
  93. data/lib/generators/echo_base/templates/public/images/web-app-theme/icons/upload.png +0 -0
  94. data/lib/generators/echo_base/templates/public/images/web-app-theme/logo.png +0 -0
  95. data/lib/generators/echo_base/templates/public/images/web-app-theme/menubar-background.png +0 -0
  96. data/lib/generators/echo_base/templates/public/images/web-app-theme/search-button.png +0 -0
  97. data/lib/generators/echo_base/templates/public/images/web-app-theme/session/account.png +0 -0
  98. data/lib/generators/echo_base/templates/public/images/web-app-theme/session/config.png +0 -0
  99. data/lib/generators/echo_base/templates/public/images/web-app-theme/session/home.png +0 -0
  100. data/lib/generators/echo_base/templates/public/images/web-app-theme/session/logout.png +0 -0
  101. data/lib/generators/echo_base/templates/public/images/web-app-theme/tipsy.gif +0 -0
  102. data/lib/generators/echo_base/templates/public/javascripts/application.js +2 -0
  103. data/lib/generators/echo_base/templates/public/javascripts/dd_belatedpng.js +328 -0
  104. data/lib/generators/echo_base/templates/public/javascripts/jquery-1.4.2.min.js +154 -0
  105. data/lib/generators/echo_base/templates/public/javascripts/modernizr-1.5.min.js +28 -0
  106. data/lib/generators/echo_base/templates/public/javascripts/rails.js +132 -0
  107. data/lib/generators/echo_base/templates/public/robots.txt +5 -0
  108. data/lib/generators/echo_base/templates/public/stylesheets/.gitkeep +0 -0
  109. data/lib/generators/echo_base/templates/public/stylesheets/handheld.css +7 -0
  110. data/lib/generators/echo_base/templates/public/stylesheets/style.css +571 -0
  111. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/base.css +397 -0
  112. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/override.css +1 -0
  113. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/images/arrow.png +0 -0
  114. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/images/boxbar-background.png +0 -0
  115. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/images/button-background-active.png +0 -0
  116. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/images/button-background.png +0 -0
  117. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/images/menubar-background.png +0 -0
  118. data/lib/generators/echo_base/templates/public/stylesheets/web-app-theme/themes/default/style.css +466 -0
  119. data/lib/generators/echo_base/templates/spec/controllers/sessions_controller_spec.rb +5 -0
  120. data/lib/generators/echo_base/templates/spec/controllers/users_controller_spec.rb +125 -0
  121. data/lib/generators/echo_base/templates/spec/helpers/users_helper_spec.rb +15 -0
  122. data/lib/generators/echo_base/templates/spec/models/authorization_spec.rb +5 -0
  123. data/lib/generators/echo_base/templates/spec/models/user_spec.rb +5 -0
  124. data/lib/generators/echo_base/templates/spec/routing/users_routing_spec.rb +35 -0
  125. data/lib/generators/echo_base/templates/spec/spec_helper.rb +16 -0
  126. data/lib/generators/echo_base/templates/spec/views/users/edit.html.erb_spec.rb +27 -0
  127. data/lib/generators/echo_base/templates/spec/views/users/index.html.erb_spec.rb +36 -0
  128. data/lib/generators/echo_base/templates/spec/views/users/new.html.erb_spec.rb +27 -0
  129. data/lib/generators/echo_base/templates/spec/views/users/show.html.erb_spec.rb +27 -0
  130. data/test/helper.rb +10 -0
  131. data/test/test_echo_base.rb +7 -0
  132. metadata +145 -36
  133. data/Gemfile +0 -4
  134. data/lib/echo_base/version.rb +0 -3
@@ -0,0 +1,397 @@
1
+ * {margin:0;padding:0}
2
+ .clear { clear: both; height: 0; }
3
+
4
+ .wat-cf:after {
5
+ content: ".";
6
+ display: block;
7
+ height: 0;
8
+ clear: both;
9
+ visibility: hidden;
10
+ }
11
+
12
+ .wat-cf {display: inline-block;}
13
+
14
+ /* Hides from IE-mac \*/
15
+ * html .wat-cf {height: 1%;}
16
+ .wat-cf {display: block;}
17
+ /* End hide from IE-mac */
18
+
19
+ h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
20
+ h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
21
+ h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
22
+ h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
23
+ hr {height: 1px; border: 0; }
24
+ p { margin: 15px 0;}
25
+ a img { border: none; }
26
+
27
+ body {
28
+ font-size: 12px;
29
+ font-family: sans-serif;
30
+ }
31
+
32
+ #container {
33
+ min-width: 960px;
34
+ }
35
+
36
+ #header, #wrapper {
37
+ padding: 0 20px;
38
+ }
39
+
40
+ #header {
41
+ position: relative;
42
+ padding-top: 1px;
43
+ }
44
+
45
+ #header h1 {
46
+ margin: 0;
47
+ padding: 10px 0;
48
+ font-size: 26px;
49
+ }
50
+
51
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
52
+ text-decoration: none;
53
+ }
54
+
55
+ #main {
56
+ width: 70%;
57
+ float: left;
58
+ }
59
+
60
+ .actions-bar {
61
+ padding: 10px 1px;
62
+ }
63
+
64
+ .actions-bar .actions {
65
+ float: left;
66
+ }
67
+
68
+
69
+ .actions-bar .pagination {
70
+ float: right;
71
+ padding: 1px 0;
72
+ }
73
+
74
+ #sidebar {
75
+ width: 25%;
76
+ float: right;
77
+ }
78
+
79
+ #sidebar h3 {
80
+ padding: 10px 15px;
81
+ margin: 0;
82
+ font-size: 13px;
83
+ }
84
+
85
+ #sidebar .block {
86
+ margin-bottom: 20px;
87
+ padding-bottom: 10px;
88
+ }
89
+
90
+ #sidebar .block .content {
91
+ padding: 0 15px;
92
+ }
93
+
94
+ #sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
95
+ display: block;
96
+ padding: 10px 15px;
97
+ }
98
+
99
+ #sidebar .block .sidebar-block, #sidebar .notice {
100
+ padding:10px;
101
+ }
102
+
103
+ #wrapper {
104
+ padding-top: 20px;
105
+ }
106
+
107
+ #main .block {
108
+ margin-bottom: 20px;
109
+ padding-top: 1px;
110
+ }
111
+
112
+ #main .block .content .inner {
113
+ padding: 0 15px 15px;
114
+ }
115
+
116
+ #main .main p.first {
117
+ margin-top: 0;
118
+ }
119
+
120
+ #user-navigation {
121
+ position: absolute;
122
+ top: 0px;
123
+ right: 20px;
124
+ }
125
+
126
+ #main-navigation {
127
+ width: 100%;
128
+ }
129
+
130
+ #user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
131
+ margin: 0;
132
+ padding: 0;
133
+ list-style-type: none;
134
+ }
135
+
136
+ #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
137
+ float: left;
138
+ }
139
+
140
+ #main-navigation ul li {
141
+ margin-right: 5px;
142
+ }
143
+
144
+ #user-navigation ul li {
145
+ padding: 5px 10px;
146
+ }
147
+
148
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
149
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
150
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
151
+ text-decoration: none;
152
+ }
153
+
154
+ #main-navigation ul li a {
155
+ font-size: 14px;
156
+ line-height: 14px;
157
+ display: block;
158
+ padding: 8px 15px;
159
+ }
160
+
161
+ .secondary-navigation {
162
+ font-size: 13px;
163
+ border-bottom-width: 10px;
164
+ border-bottom-style: solid;
165
+ }
166
+
167
+ .secondary-navigation ul li a {
168
+ display: block;
169
+ padding: 10px 15px;
170
+ }
171
+
172
+ #footer {
173
+ padding-bottom: 20px;
174
+ }
175
+
176
+ /* pagination */
177
+
178
+ .pagination a, .pagination span, .pagination em {
179
+ padding: 2px 5px;
180
+ margin-right: 5px;
181
+ display: block;
182
+ float: left;
183
+ border-style: solid;
184
+ border-width: 1px;
185
+ }
186
+
187
+ .pagination em {
188
+ font-weight: bold;
189
+ }
190
+
191
+ .pagination a {
192
+ text-decoration: none;
193
+ }
194
+
195
+ /* tables */
196
+ .table {
197
+ width: 100%;
198
+ border-collapse: collapse;
199
+ margin-bottom: 15px;
200
+ }
201
+
202
+ .table th {
203
+ padding: 10px;
204
+ font-weight: bold;
205
+ text-align: left;
206
+ }
207
+
208
+ .table th.first {
209
+ width: 30px;
210
+ }
211
+
212
+ .table th.last {
213
+ width: 200px;
214
+ }
215
+
216
+ .table .checkbox {
217
+ margin-left: 10px;
218
+ }
219
+
220
+ .table td {
221
+ padding: 10px;
222
+ }
223
+
224
+ .table td.last {
225
+ text-align: right;
226
+ }
227
+
228
+ /* forms */
229
+
230
+ input.checkbox {
231
+ margin: 0;
232
+ padding: 0;
233
+ }
234
+
235
+ .form .group {
236
+ margin-bottom: 15px;
237
+ }
238
+
239
+ .form div.left {
240
+ width: 20%;
241
+ float: left;
242
+ }
243
+
244
+ .form div.right {
245
+ width: 75%;
246
+ float: right;
247
+ }
248
+
249
+ .form .columns .column {
250
+ width: 48%;
251
+ }
252
+
253
+ .form .columns .left {
254
+ float: left;
255
+ }
256
+
257
+ .form .columns .right {
258
+ float: right;
259
+ }
260
+
261
+ .form label.label, .form input.text_field, .form textarea.text_area {
262
+ font-size: 1.2em;
263
+ padding: 1px 0;
264
+ margin: 0;
265
+ }
266
+
267
+ .form label.right {
268
+ text-align: right;
269
+ }
270
+
271
+ .form input.checkbox, .form input.radio {
272
+ margin-right: 5px;
273
+ }
274
+
275
+ .form label.checkbox, .form label.radio {
276
+ line-height: 1.5em;
277
+ }
278
+
279
+ .form label.label {
280
+ display: block;
281
+ padding-bottom: 2px;
282
+ font-weight: bold;
283
+ }
284
+
285
+ .form div.fieldWithErrors label.label {
286
+ display: inline;
287
+ }
288
+
289
+ .form .fieldWithErrors .error {
290
+ color: red;
291
+ }
292
+
293
+ .form input.text_field, .form textarea.text_area {
294
+ width: 100%;
295
+ border-width: 1px;
296
+ border-style: solid;
297
+ }
298
+
299
+ /* lists */
300
+
301
+ ul.list {
302
+ margin: 0;
303
+ padding: 0;
304
+ list-style-type: none;
305
+ }
306
+
307
+ ul.list li {
308
+ clear: left;
309
+ padding-bottom: 5px;
310
+ }
311
+
312
+ ul.list li .left {
313
+ float: left;
314
+ }
315
+
316
+ ul.list li .left .avatar {
317
+ width: 50px;
318
+ height: 50px;
319
+ }
320
+
321
+ ul.list li .item {
322
+ margin-left: 80px;
323
+ }
324
+
325
+ ul.list li .item .avatar {
326
+ float: left;
327
+ margin: 0 5px 5px 0;
328
+ width: 30px;
329
+ height: 30px;
330
+ }
331
+
332
+ /* box */
333
+
334
+ #box {
335
+ width: 500px;
336
+ margin: 50px auto;
337
+ }
338
+
339
+ #box .block {
340
+ margin-bottom: 20px;
341
+ }
342
+
343
+ #box .block h2 {
344
+ padding: 10px 15px;
345
+ margin: 0;
346
+ }
347
+
348
+ #box .block .content {
349
+ padding: 10px 20px;
350
+ }
351
+
352
+ /* Inspired by http://particletree.com/features/rediscovering-the-button-element */
353
+
354
+ a.button:link, a.button:visited, a.button:hover, a.button:active, button.button {
355
+ color: #222;
356
+ display:block;
357
+ float:left;
358
+ margin:0 7px 0 0;
359
+ background-color: #eee;
360
+ border:1px solid #bfbfbf;
361
+ font-size: 1em;
362
+ line-height: 1.3em;
363
+ font-weight:bold;
364
+ cursor:pointer;
365
+ padding:5px 10px 6px 7px;
366
+ text-decoration: none;
367
+ }
368
+
369
+ button.button {
370
+ width:auto;
371
+ overflow:visible;
372
+ padding:4px 10px 3px 7px; /* IE6 */
373
+ }
374
+ button.button[type] {
375
+ padding:5px 10px 5px 7px; /* Firefox */
376
+ line-height:17px; /* Safari */
377
+ }
378
+
379
+ *:first-child+html button.button[type] {
380
+ padding:4px 10px 3px 7px; /* IE7 */
381
+ }
382
+
383
+ button.button img, a.button img {
384
+ margin:0 3px -3px 0 !important;
385
+ padding:0;
386
+ border:none;
387
+ width:16px;
388
+ height:16px;
389
+ }
390
+
391
+ button.button:hover, a.button:hover {
392
+ background-color:#dedede;
393
+ }
394
+
395
+ button.button:active, a.button:active {
396
+ background-color:#e5e5e5;
397
+ }
@@ -0,0 +1 @@
1
+ /* Override here any style defined by web-app-theme */