inkling 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,4 +2,16 @@ class Inkling::Users::SessionsController < Devise::SessionsController
2
2
 
3
3
  layout nil
4
4
 
5
+ after_filter :log, :only => [:create]
6
+ before_filter :log, :only => [:destroy]
7
+
8
+ private
9
+
10
+ def log
11
+ if params[:action] == "create"
12
+ Inkling::Log.create!(:user => current_inkling_user, :text => "#{current_inkling_user.email} signed in.")
13
+ elsif params[:action] == "destroy"
14
+ Inkling::Log.create!(:user => current_inkling_user, :text => "#{current_inkling_user.email} signed out.")
15
+ end
16
+ end
5
17
  end
@@ -1,3 +1,4 @@
1
1
  class Inkling::Log < ActiveRecord::Base
2
2
  set_table_name 'inkling_logs'
3
+ belongs_to :inkling_user
3
4
  end
@@ -0,0 +1,30 @@
1
+ require 'archive'
2
+
3
+ class Inkling::SessionObserver < ActiveRecord::Observer
4
+ # include ActionView::Helpers::UrlHelper
5
+ include ActionController::UrlWriter
6
+ include Rails.application.routes.url_helpers
7
+
8
+ def after_create(session)
9
+ debugger
10
+ puts "*****"
11
+ # log("created", page) if page.created_at == page.updated_at
12
+ end
13
+ #
14
+ # def after_save(page)
15
+ # log("edited", page) if page.created_at != page.updated_at
16
+ # end
17
+ #
18
+ # def after_destroy(page)
19
+ # log("deleted", page)
20
+ # end
21
+ #
22
+ # private
23
+ # def log(verb, page)
24
+ # if page.archive
25
+ # Inkling::Log.create!(:text => "#{page.author.email} #{verb} page <a href='#{edit_staff_page_path(page, :archive_id => page.archive.id)}'>#{page.title}</a> in <a href='/staff/archives/#{page.archive.slug}'>#{page.archive.name}</a>.")
26
+ # else
27
+ # Inkling::Log.create!(:text => "#{page.author.email} #{verb} page <a href='#{edit_staff_page_path(page)}'>#{page.title}</a> in <a href='/staff/archives/ada'>ADA</a>.")
28
+ # end
29
+ # end
30
+ end
@@ -3,6 +3,7 @@ class Inkling::User < ActiveRecord::Base
3
3
  set_table_name 'inkling_users'
4
4
  has_many :role_memberships
5
5
  has_many :roles, :through => :role_memberships
6
+ has_many :logs
6
7
 
7
8
  devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable
8
9
 
@@ -1,5 +1,8 @@
1
1
  <h2>Sign in</h2>
2
2
 
3
+ <div class="notice"><%= notice %></div>
4
+ <div class="alert"><%= alert %></div>
5
+
3
6
  <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
4
7
  <p><%= f.label :email %><br />
5
8
  <%= f.text_field :email %></p>
@@ -54,8 +54,9 @@ class CreateInklingTables < ActiveRecord::Migration
54
54
  end
55
55
 
56
56
  create_table :inkling_logs do |t|
57
- t.timestamps
57
+ t.created_at
58
58
  t.text :text, :null => false
59
+ t.integer :inkling_user_id
59
60
  end
60
61
 
61
62
  end
@@ -1,3 +1,3 @@
1
1
  module Inkling
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Inkling::Users::SessionsController do
4
+
5
+ describe "creating logs based on signing in or out" do
6
+ specify "that login created a login log" do
7
+ @admin = make_user(:administrator)
8
+ sign_in @admin
9
+
10
+ Inkling::Log.all.size.should > 0
11
+ end
12
+ end
13
+ end
data/spec/spec_helper.rb CHANGED
@@ -23,4 +23,6 @@ Rspec.configure do |config|
23
23
  # uncomment the following line.
24
24
  # config.use_transactional_examples = false
25
25
  config.use_transactional_examples = true
26
+
27
+ config.include Devise::TestHelpers, :type => :controller
26
28
  end
@@ -0,0 +1,45 @@
1
+ require 'machinist/active_record'
2
+ require 'sham'
3
+ require 'faker'
4
+
5
+ # a machinist config for quick data generation
6
+ Sham.created_at { (0..60).to_a.rand.days.ago }
7
+ Sham.body { Faker::Lorem.sentence }
8
+ Sham.reason { Faker::Lorem.sentence }
9
+ Sham.name { Faker::Lorem.sentence }
10
+ Sham.email { Faker::Internet.email }
11
+ Sham.title { Faker::Lorem.words(2).to_s }
12
+ Sham.word { Faker::Lorem.words(1).to_s }
13
+ Sham.description { Faker::Lorem.sentence }
14
+ Sham.body { Faker::Lorem.paragraph }
15
+ Sham.url { "http://" + Faker::Internet.domain_name.to_s }
16
+ Sham.display_from { (0..60).to_a.rand.days.ago }
17
+ Sham.display_to { (0..60).to_a.rand.days.since }
18
+ Sham.keywords { Faker::Lorem.sentence }
19
+
20
+ Inkling::User.blueprint do
21
+ email Sham.email
22
+ password 'test123'
23
+ password_confirmation 'test123'
24
+ end
25
+
26
+ Inkling::Role.blueprint do
27
+ name Sham.name
28
+ end
29
+
30
+ Inkling::Role.blueprint(:admin) do
31
+ name "administrator"
32
+ end
33
+
34
+ Inkling::RoleMembership.blueprint do
35
+ role
36
+ user
37
+ end
38
+
39
+ def make_user(role_name)
40
+ role_name = role_name.to_s if role_name.is_a? Symbol
41
+ user = Inkling::User.make
42
+ role = Inkling::Role.make(:name => role_name)
43
+ role_membership = Inkling::RoleMembership.create(:role => role, :user => user)
44
+ user
45
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 8
9
- version: 0.0.8
8
+ - 9
9
+ version: 0.0.9
10
10
  platform: ruby
11
11
  authors: []
12
12
 
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-19 00:00:00 +11:00
17
+ date: 2010-11-23 00:00:00 +11:00
18
18
  default_executable: inkling
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -27,8 +27,8 @@ dependencies:
27
27
  segments:
28
28
  - 3
29
29
  - 0
30
- - 0
31
- version: 3.0.0
30
+ - 3
31
+ version: 3.0.3
32
32
  type: :runtime
33
33
  prerelease: false
34
34
  version_requirements: *id001
@@ -68,8 +68,10 @@ dependencies:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  segments:
71
- - 0
72
- version: "0"
71
+ - 1
72
+ - 1
73
+ - 3
74
+ version: 1.1.3
73
75
  type: :runtime
74
76
  prerelease: false
75
77
  version_requirements: *id004
@@ -94,8 +96,10 @@ dependencies:
94
96
  - - ">="
95
97
  - !ruby/object:Gem::Version
96
98
  segments:
99
+ - 1
100
+ - 1
97
101
  - 0
98
- version: "0"
102
+ version: 1.1.0
99
103
  type: :runtime
100
104
  prerelease: false
101
105
  version_requirements: *id006
@@ -104,20 +108,18 @@ dependencies:
104
108
  requirement: &id007 !ruby/object:Gem::Requirement
105
109
  none: false
106
110
  requirements:
107
- - - ">="
111
+ - - "="
108
112
  - !ruby/object:Gem::Version
109
113
  segments:
110
114
  - 2
111
115
  - 0
112
- - 0
113
- - beta
114
- - 8
115
- version: 2.0.0.beta.8
116
+ - 1
117
+ version: 2.0.1
116
118
  type: :development
117
119
  prerelease: false
118
120
  version_requirements: *id007
119
121
  - !ruby/object:Gem::Dependency
120
- name: ruby-debug19
122
+ name: capybara
121
123
  requirement: &id008 !ruby/object:Gem::Requirement
122
124
  none: false
123
125
  requirements:
@@ -130,7 +132,7 @@ dependencies:
130
132
  prerelease: false
131
133
  version_requirements: *id008
132
134
  - !ruby/object:Gem::Dependency
133
- name: rcov
135
+ name: cucumber-rails
134
136
  requirement: &id009 !ruby/object:Gem::Requirement
135
137
  none: false
136
138
  requirements:
@@ -143,7 +145,7 @@ dependencies:
143
145
  prerelease: false
144
146
  version_requirements: *id009
145
147
  - !ruby/object:Gem::Dependency
146
- name: capybara
148
+ name: cucumber
147
149
  requirement: &id010 !ruby/object:Gem::Requirement
148
150
  none: false
149
151
  requirements:
@@ -151,12 +153,14 @@ dependencies:
151
153
  - !ruby/object:Gem::Version
152
154
  segments:
153
155
  - 0
154
- version: "0"
156
+ - 7
157
+ - 2
158
+ version: 0.7.2
155
159
  type: :development
156
160
  prerelease: false
157
161
  version_requirements: *id010
158
162
  - !ruby/object:Gem::Dependency
159
- name: cucumber-rails
163
+ name: spork
160
164
  requirement: &id011 !ruby/object:Gem::Requirement
161
165
  none: false
162
166
  requirements:
@@ -169,7 +173,7 @@ dependencies:
169
173
  prerelease: false
170
174
  version_requirements: *id011
171
175
  - !ruby/object:Gem::Dependency
172
- name: cucumber
176
+ name: launchy
173
177
  requirement: &id012 !ruby/object:Gem::Requirement
174
178
  none: false
175
179
  requirements:
@@ -177,14 +181,12 @@ dependencies:
177
181
  - !ruby/object:Gem::Version
178
182
  segments:
179
183
  - 0
180
- - 7
181
- - 2
182
- version: 0.7.2
184
+ version: "0"
183
185
  type: :development
184
186
  prerelease: false
185
187
  version_requirements: *id012
186
188
  - !ruby/object:Gem::Dependency
187
- name: spork
189
+ name: jeweler
188
190
  requirement: &id013 !ruby/object:Gem::Requirement
189
191
  none: false
190
192
  requirements:
@@ -197,7 +199,7 @@ dependencies:
197
199
  prerelease: false
198
200
  version_requirements: *id013
199
201
  - !ruby/object:Gem::Dependency
200
- name: launchy
202
+ name: gemcutter
201
203
  requirement: &id014 !ruby/object:Gem::Requirement
202
204
  none: false
203
205
  requirements:
@@ -205,12 +207,14 @@ dependencies:
205
207
  - !ruby/object:Gem::Version
206
208
  segments:
207
209
  - 0
208
- version: "0"
210
+ - 6
211
+ - 1
212
+ version: 0.6.1
209
213
  type: :development
210
214
  prerelease: false
211
215
  version_requirements: *id014
212
216
  - !ruby/object:Gem::Dependency
213
- name: devise
217
+ name: autotest
214
218
  requirement: &id015 !ruby/object:Gem::Requirement
215
219
  none: false
216
220
  requirements:
@@ -219,12 +223,83 @@ dependencies:
219
223
  segments:
220
224
  - 0
221
225
  version: "0"
222
- type: :runtime
226
+ type: :development
223
227
  prerelease: false
224
228
  version_requirements: *id015
225
229
  - !ruby/object:Gem::Dependency
226
- name: inherited_resources
230
+ name: steak
227
231
  requirement: &id016 !ruby/object:Gem::Requirement
232
+ none: false
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ segments:
237
+ - 1
238
+ - 0
239
+ - 0
240
+ - rc
241
+ - 1
242
+ version: 1.0.0.rc.1
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: *id016
246
+ - !ruby/object:Gem::Dependency
247
+ name: faker
248
+ requirement: &id017 !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ">="
252
+ - !ruby/object:Gem::Version
253
+ segments:
254
+ - 0
255
+ version: "0"
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: *id017
259
+ - !ruby/object:Gem::Dependency
260
+ name: machinist
261
+ requirement: &id018 !ruby/object:Gem::Requirement
262
+ none: false
263
+ requirements:
264
+ - - "="
265
+ - !ruby/object:Gem::Version
266
+ segments:
267
+ - 1
268
+ - 0
269
+ - 6
270
+ version: 1.0.6
271
+ type: :development
272
+ prerelease: false
273
+ version_requirements: *id018
274
+ - !ruby/object:Gem::Dependency
275
+ name: database_cleaner
276
+ requirement: &id019 !ruby/object:Gem::Requirement
277
+ none: false
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ segments:
282
+ - 0
283
+ version: "0"
284
+ type: :development
285
+ prerelease: false
286
+ version_requirements: *id019
287
+ - !ruby/object:Gem::Dependency
288
+ name: capistrano
289
+ requirement: &id020 !ruby/object:Gem::Requirement
290
+ none: false
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ segments:
295
+ - 0
296
+ version: "0"
297
+ type: :development
298
+ prerelease: false
299
+ version_requirements: *id020
300
+ - !ruby/object:Gem::Dependency
301
+ name: devise
302
+ requirement: &id021 !ruby/object:Gem::Requirement
228
303
  none: false
229
304
  requirements:
230
305
  - - ">="
@@ -234,10 +309,23 @@ dependencies:
234
309
  version: "0"
235
310
  type: :runtime
236
311
  prerelease: false
237
- version_requirements: *id016
312
+ version_requirements: *id021
313
+ - !ruby/object:Gem::Dependency
314
+ name: inherited_resources
315
+ requirement: &id022 !ruby/object:Gem::Requirement
316
+ none: false
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ segments:
321
+ - 0
322
+ version: "0"
323
+ type: :runtime
324
+ prerelease: false
325
+ version_requirements: *id022
238
326
  - !ruby/object:Gem::Dependency
239
327
  name: formtastic
240
- requirement: &id017 !ruby/object:Gem::Requirement
328
+ requirement: &id023 !ruby/object:Gem::Requirement
241
329
  none: false
242
330
  requirements:
243
331
  - - ">="
@@ -247,10 +335,10 @@ dependencies:
247
335
  version: "0"
248
336
  type: :runtime
249
337
  prerelease: false
250
- version_requirements: *id017
338
+ version_requirements: *id023
251
339
  - !ruby/object:Gem::Dependency
252
340
  name: cancan
253
- requirement: &id018 !ruby/object:Gem::Requirement
341
+ requirement: &id024 !ruby/object:Gem::Requirement
254
342
  none: false
255
343
  requirements:
256
344
  - - ">="
@@ -260,10 +348,10 @@ dependencies:
260
348
  version: "0"
261
349
  type: :runtime
262
350
  prerelease: false
263
- version_requirements: *id018
351
+ version_requirements: *id024
264
352
  - !ruby/object:Gem::Dependency
265
353
  name: rails
266
- requirement: &id019 !ruby/object:Gem::Requirement
354
+ requirement: &id025 !ruby/object:Gem::Requirement
267
355
  none: false
268
356
  requirements:
269
357
  - - ">="
@@ -273,7 +361,7 @@ dependencies:
273
361
  version: "0"
274
362
  type: :runtime
275
363
  prerelease: false
276
- version_requirements: *id019
364
+ version_requirements: *id025
277
365
  description: A content framework engine for Rails 3
278
366
  email:
279
367
  executables:
@@ -303,6 +391,7 @@ files:
303
391
  - app/models/inkling/permission.rb
304
392
  - app/models/inkling/role.rb
305
393
  - app/models/inkling/role_membership.rb
394
+ - app/models/inkling/session_observer.rb
306
395
  - app/models/inkling/theme.rb
307
396
  - app/models/inkling/type.rb
308
397
  - app/models/inkling/user.rb
@@ -363,10 +452,12 @@ files:
363
452
  - lib/tasks/rspec.rake
364
453
  - README.txt
365
454
  - spec/controllers/inkling/proxying_spec.rb
455
+ - spec/controllers/inkling/users/sessions_spec.rb
366
456
  - spec/models/path_spec.rb
367
457
  - spec/models/permission_spec.rb
368
458
  - spec/models/theme_spec.rb
369
459
  - spec/spec_helper.rb
460
+ - spec/support/blueprints.rb
370
461
  - spec/support/devise.rb
371
462
  - spec/support/inkling_spec_helper.rb
372
463
  - bin/inkling
@@ -404,9 +495,11 @@ specification_version: 3
404
495
  summary: A content framework engine for Rails 3
405
496
  test_files:
406
497
  - spec/controllers/inkling/proxying_spec.rb
498
+ - spec/controllers/inkling/users/sessions_spec.rb
407
499
  - spec/models/path_spec.rb
408
500
  - spec/models/permission_spec.rb
409
501
  - spec/models/theme_spec.rb
410
502
  - spec/spec_helper.rb
503
+ - spec/support/blueprints.rb
411
504
  - spec/support/devise.rb
412
505
  - spec/support/inkling_spec_helper.rb