cops 0.2.0.6 → 0.2.0.7

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.
@@ -21,6 +21,8 @@ Clearance, a default Blue Light Special installation includes:
21
21
 
22
22
  == Setup
23
23
 
24
+ Note: Before Blue Light Special can run, the database must be created, the database.yml configured, and permissions granted to the user. The 'create-rails-dev-db' gem does all this. Run it with 'create-rails-dev-db' within the Rails app first.
25
+
24
26
  After installing the Blue Light Special gem, require it in your Rails app and run
25
27
  the blue_light_special generator.
26
28
 
@@ -95,6 +97,8 @@ gem build cops.gemspec
95
97
 
96
98
  sudo gem install cops.gem
97
99
 
100
+ gem push cops-0.2.0.1.gem
101
+
98
102
  gem yank cops -v 0.2.0.1
99
103
 
100
104
  == Differences from Blue Light Special ==
@@ -5,19 +5,27 @@ class BlueLightSpecialGenerator < Rails::Generator::Base
5
5
 
6
6
  def manifest
7
7
  record do |m|
8
+ app_name = File.expand_path(File.dirname(__FILE__)).split("/").last
8
9
  m.directory File.join("config", "initializers")
9
10
  m.file "blue_light_special.rb", "config/initializers/blue_light_special.rb"
10
11
  m.file "blue_light_special.yml", "config/blue_light_special.yml"
11
12
 
12
13
  m.directory File.join("app", "views", "layouts")
14
+ m.directory File.join("app", "views", "sessions")
13
15
  m.file "application.html.erb", "app/views/layouts/application.html.erb"
16
+ m.file "app/views/sessions/index.html.erb", "app/views/sessions/index.html.erb"
14
17
 
15
18
  m.directory File.join("public", "stylesheets")
16
19
  m.file "style.css", "public/stylesheets/style.css"
20
+ m.file "reports.css", "public/stylesheets/report.css"
21
+ m.file "reset.css", "public/stylesheets/reset.css"
22
+ m.file "text.css", "public/stylesheets/text.css"
23
+ m.file "layout.css", "public/stylesheets/layout.css"
17
24
 
18
25
  m.file "xd_receiver.html", "public/xd_receiver.html"
19
26
  m.file "xd_receiver_ssl.html", "public/xd_receiver_ssl.html"
20
27
 
28
+ m.file "app/controllers/sessions_controller.rb", "app/controllers/sessions_controller.rb"
21
29
  m.insert_into "app/controllers/application_controller.rb",
22
30
  "include BlueLightSpecial::Authentication"
23
31
 
@@ -0,0 +1,6 @@
1
+ class SessionsController < BlueLightSpecial::SessionsController
2
+
3
+ def index
4
+
5
+ end
6
+ end
@@ -7,44 +7,69 @@
7
7
  <meta name="keywords" content="<%= yield(:keywords) %>" />
8
8
  <meta name="robots" content="INDEX,FOLLOW" />
9
9
 
10
- <%= stylesheet_link_tag "style" %>
11
- <!--[if IE 6]>
12
- <%= stylesheet_link_tag "ie6-style" %>
13
- <![endif]-->
10
+ <%= stylesheet_link_tag "reset", "layout", "text", "style", "report" %>
14
11
 
15
12
  <%- if request.ssl? -%>
16
- <%= javascript_include_tag 'https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' %>
13
+ <%= javascript_include_tag 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' %>
17
14
  <%- else -%>
18
- <%= javascript_include_tag 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' %>
15
+ <%= javascript_include_tag 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' %>
19
16
  <%- end -%>
20
17
  <%= javascript_include_tag 'application' %>
21
18
  </head>
22
19
  <body>
20
+
21
+ <div id="header" class="container_12">
22
+
23
+ <div id="title" class="grid_6 ">
24
+ Default Web App
25
+ </div>
26
+
27
+ <div id="nav" class="grid_6 ">
28
+ <% if signed_in? %>
29
+ <% if impersonating? %>
30
+ Impersonating <%= current_user.name %>
31
+ | <%= link_to 'Stop impersonating', impersonation_path, :method => :delete %>
32
+ <% else %>
33
+ Welcome, <%= current_user.name %>
34
+ | <%= link_to 'Sign out', sign_out_path %>
35
+ <% end %>
36
+
37
+ <% if current_user.admin? %>
38
+ | <%= link_to 'Admin', "/admin" %>
39
+ <% end %>
40
+
41
+ | <%= link_to 'My Profile', user_path(current_user) %>
42
+ <% else %>
43
+ <%= link_to 'Sign in', sign_in_path %> |
44
+ <%= link_to 'Sign up', sign_up_path %>
45
+ <% end %>
46
+ </div>
47
+
48
+ </div>
49
+
50
+ <div id="content" class="container_12">
51
+ <div id="flash">
52
+ <%- flash.each do |key, value| -%>
53
+ <div class="<%= key %>_flash"><%=h value %></div>
54
+ <%- end -%>
55
+ </div>
56
+ <%= yield %>
57
+ </div>
58
+
59
+
60
+ <div id="footer" class="container_12">
61
+
62
+ <div id="built-by" class="grid_6 ">
63
+ Built by Brian Burridge, Agile Nomads LLC
64
+ </div>
65
+
66
+ <div id="meta" class="grid_6 ">
67
+ <% if ENV["RAILS_ENV"] != "production" %><%= ENV["RAILS_ENV"]%><% end %>
68
+ </div>
69
+
70
+ </div>
71
+
23
72
 
24
- <% if signed_in? %>
25
- <% if impersonating? %>
26
- Impersonating <%= current_user.name %>
27
- | <%= link_to 'Stop impersonating', impersonation_path, :method => :delete %>
28
- <% else %>
29
- Welcome, <%= current_user.name %>
30
- | <%= link_to 'Sign out', sign_out_path %>
31
- <% end %>
32
-
33
- <% if current_user.admin? %>
34
- | <%= link_to 'Admin', impersonations_path %>
35
- <% end %>
36
-
37
- | <%= link_to 'My Profile', user_path(current_user) %>
38
- <% else %>
39
- <%= link_to 'Sign in', sign_in_path %> |
40
- <%= link_to 'Sign up', sign_up_path %>
41
- <% end %>
42
-
43
- <div id="flash">
44
- <%- flash.each do |key, value| -%>
45
- <div class="<%= key %>_flash"><%=h value %></div>
46
- <%- end -%>
47
- </div>
48
- <%= yield %>
73
+
49
74
  </body>
50
75
  </html>
@@ -0,0 +1,353 @@
1
+
2
+ /* Containers
3
+ ----------------------------------------------------------------------------------------------------*/
4
+ .container_12 {
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ width: 960px;
8
+
9
+
10
+ }
11
+
12
+ /* Grid >> Children (Alpha ~ First, Omega ~ Last)
13
+ ----------------------------------------------------------------------------------------------------*/
14
+
15
+ .alpha {
16
+ margin-left: 0 !important;
17
+ }
18
+
19
+ .omega {
20
+ margin-right: 0 !important;
21
+ }
22
+
23
+
24
+
25
+ /* Grid >> Global
26
+ ----------------------------------------------------------------------------------------------------*/
27
+
28
+ .grid_1,
29
+ .grid_2,
30
+ .grid_3,
31
+ .grid_4,
32
+ .grid_5,
33
+ .grid_6,
34
+ .grid_7,
35
+ .grid_8,
36
+ .grid_9,
37
+ .grid_10,
38
+ .grid_11,
39
+ .grid_12,.grid_12{
40
+ display:inline;
41
+ float: left;
42
+ position: relative;
43
+ margin-left: 10.0px;
44
+ margin-right: 10.0px;
45
+ }
46
+
47
+
48
+ /* Grid >> 2 Columns
49
+ ----------------------------------------------------------------------------------------------------*/
50
+
51
+ .container_12 .grid_1{
52
+ width:60px;
53
+ }
54
+
55
+ .container_12 .grid_2{
56
+ width:140px;
57
+ }
58
+
59
+ .container_12 .grid_3{
60
+ width:220px;
61
+ }
62
+
63
+ .container_12 .grid_4{
64
+ width:300px;
65
+ }
66
+
67
+ .container_12 .grid_5{
68
+ width:380px;
69
+ }
70
+
71
+ .container_12 .grid_6{
72
+ width:460px;
73
+ }
74
+
75
+ .container_12 .grid_7{
76
+ width:540px;
77
+ }
78
+
79
+ .container_12 .grid_8{
80
+ width:620px;
81
+ }
82
+
83
+ .container_12 .grid_9{
84
+ width:700px;
85
+ }
86
+
87
+ .container_12 .grid_10{
88
+ width:780px;
89
+ }
90
+
91
+ .container_12 .grid_11{
92
+ width:860px;
93
+ }
94
+
95
+ .container_12 .grid_12{
96
+ width:940px;
97
+ }
98
+
99
+
100
+
101
+
102
+
103
+ /* Prefix Extra Space >> 2 Columns
104
+ ----------------------------------------------------------------------------------------------------*/
105
+
106
+ .container_12 .prefix_1 {
107
+ padding-left:80px;
108
+ }
109
+
110
+ .container_12 .prefix_2 {
111
+ padding-left:160px;
112
+ }
113
+
114
+ .container_12 .prefix_3 {
115
+ padding-left:240px;
116
+ }
117
+
118
+ .container_12 .prefix_4 {
119
+ padding-left:320px;
120
+ }
121
+
122
+ .container_12 .prefix_5 {
123
+ padding-left:400px;
124
+ }
125
+
126
+ .container_12 .prefix_6 {
127
+ padding-left:480px;
128
+ }
129
+
130
+ .container_12 .prefix_7 {
131
+ padding-left:560px;
132
+ }
133
+
134
+ .container_12 .prefix_8 {
135
+ padding-left:640px;
136
+ }
137
+
138
+ .container_12 .prefix_9 {
139
+ padding-left:720px;
140
+ }
141
+
142
+ .container_12 .prefix_10 {
143
+ padding-left:800px;
144
+ }
145
+
146
+ .container_12 .prefix_11 {
147
+ padding-left:880px;
148
+ }
149
+
150
+ .container_12 .prefix_12 {
151
+ padding-left:960px;
152
+ }
153
+
154
+
155
+
156
+ /* Suffix Extra Space >> 2 Columns
157
+ ----------------------------------------------------------------------------------------------------*/
158
+
159
+ .container_12 .suffix_1 {
160
+ padding-right:80px;
161
+ }
162
+
163
+ .container_12 .suffix_2 {
164
+ padding-right:160px;
165
+ }
166
+
167
+ .container_12 .suffix_3 {
168
+ padding-right:240px;
169
+ }
170
+
171
+ .container_12 .suffix_4 {
172
+ padding-right:320px;
173
+ }
174
+
175
+ .container_12 .suffix_5 {
176
+ padding-right:400px;
177
+ }
178
+
179
+ .container_12 .suffix_6 {
180
+ padding-right:480px;
181
+ }
182
+
183
+ .container_12 .suffix_7 {
184
+ padding-right:560px;
185
+ }
186
+
187
+ .container_12 .suffix_8 {
188
+ padding-right:640px;
189
+ }
190
+
191
+ .container_12 .suffix_9 {
192
+ padding-right:720px;
193
+ }
194
+
195
+ .container_12 .suffix_10 {
196
+ padding-right:800px;
197
+ }
198
+
199
+ .container_12 .suffix_11 {
200
+ padding-right:880px;
201
+ }
202
+
203
+ .container_12 .suffix_12 {
204
+ padding-right:960px;
205
+ }
206
+
207
+
208
+
209
+ /* Push Space >> 2 Columns
210
+ ----------------------------------------------------------------------------------------------------*/
211
+
212
+ .container_12 .push_1 {
213
+ left:80px;
214
+ }
215
+
216
+ .container_12 .push_2 {
217
+ left:160px;
218
+ }
219
+
220
+ .container_12 .push_3 {
221
+ left:240px;
222
+ }
223
+
224
+ .container_12 .push_4 {
225
+ left:320px;
226
+ }
227
+
228
+ .container_12 .push_5 {
229
+ left:400px;
230
+ }
231
+
232
+ .container_12 .push_6 {
233
+ left:480px;
234
+ }
235
+
236
+ .container_12 .push_7 {
237
+ left:560px;
238
+ }
239
+
240
+ .container_12 .push_8 {
241
+ left:640px;
242
+ }
243
+
244
+ .container_12 .push_9 {
245
+ left:720px;
246
+ }
247
+
248
+ .container_12 .push_10 {
249
+ left:800px;
250
+ }
251
+
252
+ .container_12 .push_11 {
253
+ left:880px;
254
+ }
255
+
256
+ .container_12 .push_12 {
257
+ left:960px;
258
+ }
259
+
260
+
261
+
262
+
263
+
264
+ /* Pull Space >> 2 Columns
265
+ ----------------------------------------------------------------------------------------------------*/
266
+
267
+ .container_12 .pull_1 {
268
+ right:80px;
269
+ }
270
+
271
+ .container_12 .pull_2 {
272
+ right:160px;
273
+ }
274
+
275
+ .container_12 .pull_3 {
276
+ right:240px;
277
+ }
278
+
279
+ .container_12 .pull_4 {
280
+ right:320px;
281
+ }
282
+
283
+ .container_12 .pull_5 {
284
+ right:400px;
285
+ }
286
+
287
+ .container_12 .pull_6 {
288
+ right:480px;
289
+ }
290
+
291
+ .container_12 .pull_7 {
292
+ right:560px;
293
+ }
294
+
295
+ .container_12 .pull_8 {
296
+ right:640px;
297
+ }
298
+
299
+ .container_12 .pull_9 {
300
+ right:720px;
301
+ }
302
+
303
+ .container_12 .pull_10 {
304
+ right:800px;
305
+ }
306
+
307
+ .container_12 .pull_11 {
308
+ right:880px;
309
+ }
310
+
311
+ .container_12 .pull_12 {
312
+ right:960px;
313
+ }
314
+
315
+
316
+
317
+
318
+ /* Clear Floated Elements
319
+ ----------------------------------------------------------------------------------------------------*/
320
+
321
+
322
+ .clear {
323
+ clear: both;
324
+ display: block;
325
+ overflow: hidden;
326
+ visibility: hidden;
327
+ width: 0;
328
+ height: 0;
329
+ }
330
+
331
+
332
+ .clearfix:after {
333
+ clear: both;
334
+ content: ' ';
335
+ display: block;
336
+ font-size: 0;
337
+ line-height: 0;
338
+ visibility: hidden;
339
+ width: 0;
340
+ height: 0;
341
+ }
342
+
343
+ .clearfix {
344
+ display: inline-block;
345
+ }
346
+
347
+ * html .clearfix {
348
+ height: 1%;
349
+ }
350
+
351
+ .clearfix {
352
+ display: block;
353
+ }
@@ -10,6 +10,8 @@ class BlueLightSpecialCreateUsers < ActiveRecord::Migration
10
10
  t.string :remember_token, :limit => 128
11
11
  t.string :facebook_uid, :limit => 50
12
12
  t.string :password_reset_token, :limit => 128
13
+ t.string :confirmation_token, :limit => 128
14
+ t.boolean :email_confirmed, :default => false, :null => false
13
15
  t.timestamps
14
16
  end
15
17
 
@@ -0,0 +1,69 @@
1
+ .report table {
2
+ font-family: "Junction";
3
+ width: 700px;
4
+ height: 160px;
5
+ border: 2px solid black;
6
+ }
7
+ .report table th {
8
+ text-align: center;
9
+ font-weight: bold;
10
+ }
11
+ .report table td,
12
+ .report table th {
13
+ padding: 2px;
14
+ }
15
+ .report table td.numeric,
16
+ .report table th.numeric {
17
+ text-align: right;
18
+ }
19
+ .report table th, .report table td {
20
+ border-right: 1px solid #233551;
21
+ border-bottom: 1px solid #233551;
22
+ border-left-width: 0px;
23
+ border-top-width: 0px;
24
+ }
25
+ .report table th:last-child, .report table th.last, .report table td:last-child, .report table td.last {
26
+ border-right-width: 0px;
27
+ }
28
+ .report table tbody tr:last-child th, .report table tbody tr:last-child td,
29
+ .report table tbody tr.last th,
30
+ .report table tbody tr.last td, .report table tfoot tr:last-child th, .report table tfoot tr:last-child td, .report table tfoot tr.last th, .report table tfoot tr.last td {
31
+ border-bottom-width: 0px;
32
+ }
33
+ .report table thead th {
34
+ border-bottom: 2px solid black;
35
+ }
36
+ .report table tfoot th, .report table tfoot td {
37
+ border-top: 2px solid black;
38
+ }
39
+ .report table th:first-child {
40
+ border-right: 2px solid black;
41
+ }
42
+ .report table th {
43
+ background-color: #eeeeee;
44
+ }
45
+ .report table th.even, .report table th:nth-child(2n) {
46
+ background-color: #eeeeee;
47
+ }
48
+ .report table tr.odd td {
49
+ background-color: #98c67a;
50
+ }
51
+ .report table tr.odd td.even, .report table tr.odd td:nth-child(2n) {
52
+ background-color: #98c67a;
53
+ }
54
+ .report table tr.even td {
55
+ background-color: #7a98c6;
56
+ }
57
+ .report table tr.even td.even, .report table tr.even td:nth-child(2n) {
58
+ background-color: #7a98c6;
59
+ }
60
+ .report table tfoot th, .report table tfoot td {
61
+ background-color: white;
62
+ }
63
+ .report table tfoot th.even, .report table tfoot th:nth-child(2n), .report table tfoot td.even, .report table tfoot td:nth-child(2n) {
64
+ background-color: white;
65
+ }
66
+ .report table th {
67
+ text-align: left;
68
+ margin-top: 0px;
69
+ }
@@ -0,0 +1 @@
1
+ html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
@@ -0,0 +1 @@
1
+ body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px}
@@ -9,10 +9,12 @@ class BlueLightSpecialAdminGenerator < Rails::Generator::Base
9
9
  m.file "app/controllers/admin/users_controller.rb", "app/controllers/admin/users_controller.rb"
10
10
 
11
11
  m.directory File.join("app", "views", "admin", "users")
12
+ m.directory File.join("app", "views", "admin", "admin")
12
13
  ["app/views/admin/users/_form.html.erb",
13
14
  "app/views/admin/users/edit.html.erb",
14
15
  "app/views/admin/users/index.html.erb",
15
16
  "app/views/admin/users/new.html.erb",
17
+ "app/views/admin/admin/index.html.erb",
16
18
  "app/views/admin/users/show.html.erb"].each do |file|
17
19
  m.file file, file
18
20
  end
@@ -3,6 +3,9 @@ class Admin::AdminController < ApplicationController
3
3
  before_filter :authenticate
4
4
  before_filter :check_role
5
5
 
6
+ def index
7
+
8
+ end
6
9
 
7
10
  private
8
11
 
@@ -0,0 +1,2 @@
1
+ <% content_for :title do %>Admin<% end %>
2
+ <%= link_to 'Users', '/admin/users' %>
@@ -56,6 +56,11 @@ module BlueLightSpecial
56
56
  :controller => 'blue_light_special/sessions',
57
57
  :action => 'destroy',
58
58
  :method => :delete
59
+ map.admin 'admin',
60
+ :controller => '/admin/admin',
61
+ :action => :index
62
+
63
+ map.root :controller => "sessions", :action => 'index'
59
64
  end
60
65
 
61
66
  end
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 2
8
8
  - 0
9
- - 6
10
- version: 0.2.0.6
9
+ - 7
10
+ version: 0.2.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Burridge
@@ -61,9 +61,23 @@ dependencies:
61
61
  type: :runtime
62
62
  version_requirements: *id003
63
63
  - !ruby/object:Gem::Dependency
64
- name: shoulda
64
+ name: create-rails-dev-db
65
65
  prerelease: false
66
66
  requirement: &id004 !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "="
69
+ - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
72
+ - 1
73
+ - 0
74
+ version: 0.1.0
75
+ type: :runtime
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ name: shoulda
79
+ prerelease: false
80
+ requirement: &id005 !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - ">="
69
83
  - !ruby/object:Gem::Version
@@ -71,7 +85,7 @@ dependencies:
71
85
  - 0
72
86
  version: "0"
73
87
  type: :development
74
- version_requirements: *id004
88
+ version_requirements: *id005
75
89
  description: Rails authentication by email and password with integrated dependencies to MadMimi. Also provides administrative user impersonation. Based on BlueLightSpecial
76
90
  email: bburridg@gmail.com
77
91
  executables: []
@@ -113,13 +127,19 @@ files:
113
127
  - generators/blue_light_special/lib/insert_commands.rb
114
128
  - generators/blue_light_special/lib/rake_commands.rb
115
129
  - generators/blue_light_special/templates/README
130
+ - generators/blue_light_special/templates/app/controllers/sessions_controller.rb
131
+ - generators/blue_light_special/templates/app/views/sessions/index.html.erb
116
132
  - generators/blue_light_special/templates/application.html.erb
117
133
  - generators/blue_light_special/templates/blue_light_special.rb
118
134
  - generators/blue_light_special/templates/blue_light_special.yml
119
135
  - generators/blue_light_special/templates/factories.rb
120
136
  - generators/blue_light_special/templates/migrations/create_users.rb
121
137
  - generators/blue_light_special/templates/migrations/update_users.rb
138
+ - generators/blue_light_special/templates/report.css
139
+ - generators/blue_light_special/templates/reset.css
122
140
  - generators/blue_light_special/templates/style.css
141
+ - generators/blue_light_special/templates/text.css
142
+ - generators/blue_light_special/templates/layout.css
123
143
  - generators/blue_light_special/templates/user.rb
124
144
  - generators/blue_light_special/templates/xd_receiver.html
125
145
  - generators/blue_light_special/templates/xd_receiver_ssl.html
@@ -129,6 +149,7 @@ files:
129
149
  - generators/blue_light_special_admin/templates/README
130
150
  - generators/blue_light_special_admin/templates/app/controllers/admin/admin_controller.rb
131
151
  - generators/blue_light_special_admin/templates/app/controllers/admin/users_controller.rb
152
+ - generators/blue_light_special_admin/templates/app/views/admin/admin/index.html.erb
132
153
  - generators/blue_light_special_admin/templates/app/views/admin/users/_form.html.erb
133
154
  - generators/blue_light_special_admin/templates/app/views/admin/users/edit.html.erb
134
155
  - generators/blue_light_special_admin/templates/app/views/admin/users/index.html.erb