inkling 0.0.8 → 0.0.9

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.
@@ -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