sparkly-auth 1.1.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.txt +9 -0
- data/HOW_TO_TEST.txt +19 -0
- data/README.rdoc +9 -0
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/lib/auth.rb +22 -0
- data/lib/auth/behavior/core.rb +1 -2
- data/lib/auth/behavior/core/controller_extensions.rb +7 -0
- data/lib/auth/behavior/core/password_methods.rb +15 -0
- data/rails/init_rails2.rb +6 -3
- data/rails/routes_rails3.rb +1 -35
- data/sparkly-auth.gemspec +7 -272
- data/spec/behaviors/core/controller_extensions_spec.rb +50 -19
- data/spec/lib/auth/model_spec.rb +2 -2
- data/spec/spec2_helper.rb +14 -4
- data/spec_env/rails2/config/environment.rb +1 -1
- data/spec_env/rails2/config/environments/test.rb +1 -1
- data/spec_env/rails2/db/test.sqlite3 +0 -0
- data/spec_env/rails2/log/test.log +20814 -25051
- data/spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/lib/sparkly-auth-bootstrap.rb +1 -1
- data/spec_env/rails3/Gemfile +13 -14
- data/spec_env/rails3/Gemfile.lock +75 -69
- data/spec_env/rails3/db/schema.rb +2 -2
- data/spec_env/rails3/features/support/env.rb +0 -5
- metadata +6 -203
- data/spec_env/rails2/log/cucumber.log +0 -8412
- data/spec_env/rails2/log/development.log +0 -317
data/HISTORY.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
* 1.2.0 - 02-15-2011
|
2
|
+
* Made the login key, password and password confirmation attr_accessible for mass assignment.
|
3
|
+
This has the side effect of making all other attributes attr_protected, which is more secure, but may
|
4
|
+
require you to explicitly declare some attributes as attr_accessible if you want to mass assign them.
|
5
|
+
|
6
|
+
* 1.1.1 - 09-24-2010
|
7
|
+
* Some minor refactoring
|
8
|
+
* Upgraded test environment from Rails 3.0.0.rc to Rails 3.0.0 and resolved some complications from that
|
9
|
+
|
1
10
|
* 1.1.0 - 08-13-2010
|
2
11
|
* Official support for Rails 3 (tested against rails-3.0.0.rc)
|
3
12
|
* Better internal design
|
data/HOW_TO_TEST.txt
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
RAILS 2
|
2
|
+
1. Create a new RVM gemset for Rails2.
|
3
|
+
2. gem install rails -v=2.3.9 && gem install sc-core-ext sqlite3
|
4
|
+
3. gem install jeweler
|
5
|
+
4. cd spec_env/rails2 && rake db:migrate && rake db:tes:prepare && cd ../..
|
6
|
+
5. gem install rspec -v=1.3.2
|
7
|
+
gem install rspec-rails --version "= 1.3.2"
|
8
|
+
gem install webrat --version "= 0.7.1"
|
9
|
+
gem install genspec --version "= 0.1.1"
|
10
|
+
gem install email_spec --version "= 0.6.2"
|
11
|
+
6. rake && cucumber
|
12
|
+
|
13
|
+
RAILS 3
|
14
|
+
|
15
|
+
1. Create a new RVM gemset for Rails3.
|
16
|
+
2. cd spec_env/rails3 && bundle install && cd ../..
|
17
|
+
3. gem install jeweler
|
18
|
+
4. ./rake3 db:migrate && ./rake3 db:test:prepare
|
19
|
+
5. rake && cucumber
|
data/README.rdoc
CHANGED
@@ -79,6 +79,15 @@ you should be ready to go!
|
|
79
79
|
|
80
80
|
You should take a quick gander at config/initializers/sparkly_authentication.rb just to see what's in there.
|
81
81
|
|
82
|
+
== mass assignments
|
83
|
+
|
84
|
+
For added security, part of Sparkly's core behavior is to declare the login key (usually :email or :login),
|
85
|
+
the :password and the :password_confirmation attributes on the authenticated model as +attr_accessible+. This
|
86
|
+
allows you to mass assign those attributes, but disables mass assignment on any others. That means you'll have
|
87
|
+
to explicitly call +attr_accessible+ on any additional attributes you wish to mass assign. For more information
|
88
|
+
(and the reason Sparkly is doing this), see the excellent Railscast on the subject by Ryan Bates at
|
89
|
+
http://media.railscasts.com/videos/026_hackers_love_mass_assignment.mov .
|
90
|
+
|
82
91
|
== routes
|
83
92
|
|
84
93
|
Unless you disable them, Sparkly Auth will automatically generate a set of routes for its controllers. Run
|
data/Rakefile
CHANGED
@@ -16,7 +16,8 @@ begin
|
|
16
16
|
gem.add_development_dependency 'genspec', '>= 0.1.1'
|
17
17
|
gem.add_development_dependency 'email_spec', '>= 0.6.2'
|
18
18
|
# WHY does jeweler insist on using test/* files? THEY DON'T EXIST!
|
19
|
-
gem.test_files = FileList['spec/**/*'] + FileList['spec_env/**/*'] + FileList['features/**/*']
|
19
|
+
# gem.test_files = FileList['spec/**/*'] + FileList['spec_env/**/*'] + FileList['features/**/*']
|
20
|
+
gem.files = `git ls-files`.split(/\n/)
|
20
21
|
end
|
21
22
|
Jeweler::GemcutterTasks.new
|
22
23
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1
|
1
|
+
1.2.1
|
data/lib/auth.rb
CHANGED
@@ -10,6 +10,28 @@ module Auth
|
|
10
10
|
:password_history_length, :base_controller_name, :account_lock_duration,
|
11
11
|
:password_format, :password_format_message, :minimum_password_length, :behaviors, :behavior_classes,
|
12
12
|
:to => :configuration
|
13
|
+
|
14
|
+
def routing_proc
|
15
|
+
proc do
|
16
|
+
Auth.configuration.authenticated_models.each do |model|
|
17
|
+
catch :missing do
|
18
|
+
begin
|
19
|
+
model.name # if an error is going to occur due to missing model, it'll happen here.
|
20
|
+
rescue NameError
|
21
|
+
# we rescue silently because the user's already been warned (during startup).
|
22
|
+
throw :missing
|
23
|
+
end
|
24
|
+
|
25
|
+
resource model.name.underscore, :model => model.name,
|
26
|
+
:controller => model.accounts_controller do
|
27
|
+
resource :session, :controller => model.sessions_controller, :model => model.name
|
28
|
+
match '/login', :to => "#{model.sessions_controller}#new", :as => "login"
|
29
|
+
match '/logout', :to => "#{model.sessions_controller}#destroy", :as => "logout"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
13
35
|
|
14
36
|
def configuration
|
15
37
|
@configuration ||= Auth::Configuration.new
|
data/lib/auth/behavior/core.rb
CHANGED
@@ -38,7 +38,6 @@ module Auth
|
|
38
38
|
validates_presence_of :secret_confirmation, :if => :secret_changed?
|
39
39
|
validates_presence_of :persistence_token
|
40
40
|
validates_uniqueness_of :persistence_token, :if => :persistence_token_changed?
|
41
|
-
attr_protected :secret, :secret_confirmation
|
42
41
|
include Auth::Behavior::Core::PasswordMethods
|
43
42
|
|
44
43
|
validate do |password|
|
@@ -57,10 +56,10 @@ module Auth
|
|
57
56
|
model_config.target.instance_eval do
|
58
57
|
has_many :passwords, :dependent => :destroy, :as => :authenticatable, :autosave => true
|
59
58
|
|
60
|
-
attr_protected :password, :password_confirmation
|
61
59
|
validates_presence_of sparkly_config.key
|
62
60
|
validates_uniqueness_of sparkly_config.key
|
63
61
|
validates_presence_of :password
|
62
|
+
attr_accessible sparkly_config.key, :password, :password_confirmation
|
64
63
|
|
65
64
|
include Auth::Behavior::Core::AuthenticatedModelMethods
|
66
65
|
|
@@ -6,6 +6,10 @@ module Auth::Behavior::Core::ControllerExtensions
|
|
6
6
|
helper_method :new_session_path, :current_user
|
7
7
|
hide_action :current_user, :find_current_session, :require_login, :require_logout, :login!, :logout!,
|
8
8
|
:redirect_back_or_default, :new_session_path, :store_location
|
9
|
+
|
10
|
+
# we'll still check, but only if single_access_token is omitted
|
11
|
+
# TODO see if this is safe, and if there's a smarter approach
|
12
|
+
skip_before_filter :verify_authenticity_token
|
9
13
|
end
|
10
14
|
end
|
11
15
|
|
@@ -15,6 +19,8 @@ module Auth::Behavior::Core::ControllerExtensions
|
|
15
19
|
flash[:notice] = @session_timeout_message || Auth.login_required_message
|
16
20
|
login_path = Auth.default_login_path ? send(Auth.default_login_path) : Auth.default_destination
|
17
21
|
redirect_to login_path
|
22
|
+
else
|
23
|
+
verify_authenticity_token unless current_user && params[:single_access_token]
|
18
24
|
end
|
19
25
|
end
|
20
26
|
|
@@ -23,6 +29,7 @@ module Auth::Behavior::Core::ControllerExtensions
|
|
23
29
|
end
|
24
30
|
|
25
31
|
def require_logout
|
32
|
+
verify_authenticity_token
|
26
33
|
redirect_back_or_default Auth.default_destination, Auth.logout_required_message if current_user
|
27
34
|
end
|
28
35
|
|
@@ -18,6 +18,21 @@ module Auth::Behavior::Core::PasswordMethods
|
|
18
18
|
alias_method_chain :secret_confirmation=, :encryption
|
19
19
|
end
|
20
20
|
end
|
21
|
+
|
22
|
+
def single_access_token
|
23
|
+
current = super
|
24
|
+
return current if current
|
25
|
+
if authenticatable
|
26
|
+
# authenticatable.passwords.last == self
|
27
|
+
if (previous = authenticatable.passwords[-1]) != self
|
28
|
+
if previous && previous.single_access_token
|
29
|
+
return self.single_access_token = previous.single_access_token
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
nil
|
35
|
+
end
|
21
36
|
|
22
37
|
def expired?
|
23
38
|
authenticatable.password_expired?
|
data/rails/init_rails2.rb
CHANGED
@@ -3,12 +3,15 @@
|
|
3
3
|
|
4
4
|
base_path = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
5
5
|
def add_to_load_path(path, load_once = false)
|
6
|
+
load_paths = ActiveSupport::Dependencies.respond_to?(:autoload_paths) ? ActiveSupport::Dependencies.autoload_paths : ActiveSupport::Dependencies.load_paths
|
7
|
+
load_once_paths = ActiveSupport::Dependencies.respond_to?(:autoload_once_paths) ? ActiveSupport::Dependencies.autoload_once_paths : ActiveSupport::Dependencies.load_once_paths
|
8
|
+
|
6
9
|
$LOAD_PATH << path
|
7
|
-
|
10
|
+
load_paths << path
|
8
11
|
if load_once
|
9
|
-
|
12
|
+
load_once_paths << path
|
10
13
|
else
|
11
|
-
|
14
|
+
load_once_paths.delete path
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
data/rails/routes_rails3.rb
CHANGED
@@ -1,37 +1,3 @@
|
|
1
1
|
if Auth.generate_routes?
|
2
|
-
Rails.application.routes.draw
|
3
|
-
Auth.configuration.authenticated_models.each do |model|
|
4
|
-
catch :missing do
|
5
|
-
begin
|
6
|
-
model.name # if an error is going to occur due to missing model, it'll happen here.
|
7
|
-
rescue NameError
|
8
|
-
# we rescue silently because the user's already been warned (during startup).
|
9
|
-
throw :missing
|
10
|
-
end
|
11
|
-
|
12
|
-
resource model.name.underscore, :model => model.name,
|
13
|
-
:controller => model.accounts_controller do
|
14
|
-
resource :session, :controller => model.sessions_controller, :model => model.name
|
15
|
-
match '/login', :to => "#{model.sessions_controller}#new", :as => "login"
|
16
|
-
match '/logout', :to => "#{model.sessions_controller}#destroy", :as => "logout"
|
17
|
-
end
|
18
|
-
# map.resource model.name.underscore,
|
19
|
-
# :controller => model.accounts_controller,
|
20
|
-
# :requirements => { :model => model.name } do |model_res|
|
21
|
-
# model_res.resource :session, :controller => model.sessions_controller, :requirements => { :model => model.name }
|
22
|
-
|
23
|
-
# map some shorthand routes
|
24
|
-
# model_res.login "login",
|
25
|
-
# :controller => model.sessions_controller,
|
26
|
-
# :action => 'new',
|
27
|
-
# :requirements => { :model => model.name }
|
28
|
-
|
29
|
-
# model_res.logout "logout",
|
30
|
-
# :controller => model.sessions_controller,
|
31
|
-
# :action => 'destroy',
|
32
|
-
# :requirements => { :model => model.name }
|
33
|
-
# end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
2
|
+
Rails.application.routes.draw &Auth.routing_proc
|
37
3
|
end
|
data/sparkly-auth.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sparkly-auth}
|
8
|
-
s.version = "1.1
|
8
|
+
s.version = "1.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Colin MacKenzie IV"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-06-05}
|
13
13
|
s.description = %q{As fate would have it, I found other authentication solutions unable to suit my needs. So I rolled my own, totally supporting Rails 2 AND 3.}
|
14
14
|
s.email = %q{sinisterchipmunk@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
".document",
|
22
22
|
".gitignore",
|
23
23
|
"HISTORY.txt",
|
24
|
+
"HOW_TO_TEST.txt",
|
24
25
|
"LICENSE",
|
25
26
|
"README.rdoc",
|
26
27
|
"Rakefile",
|
@@ -182,7 +183,7 @@ Gem::Specification.new do |s|
|
|
182
183
|
"spec_env/rails2/lib/tasks/cucumber.rake",
|
183
184
|
"spec_env/rails2/lib/tasks/rspec.rake",
|
184
185
|
"spec_env/rails2/lib/tasks/sparkly_migration.rb",
|
185
|
-
"spec_env/rails2/log/
|
186
|
+
"spec_env/rails2/log/test.log",
|
186
187
|
"spec_env/rails2/public/404.html",
|
187
188
|
"spec_env/rails2/public/422.html",
|
188
189
|
"spec_env/rails2/public/500.html",
|
@@ -286,295 +287,29 @@ Gem::Specification.new do |s|
|
|
286
287
|
s.homepage = %q{http://www.thoughtsincomputation.com}
|
287
288
|
s.rdoc_options = ["--charset=UTF-8"]
|
288
289
|
s.require_paths = ["lib"]
|
289
|
-
s.rubygems_version = %q{1.
|
290
|
+
s.rubygems_version = %q{1.5.0}
|
290
291
|
s.summary = %q{User authentication with Sparkles!}
|
291
292
|
s.test_files = [
|
292
|
-
"spec/behaviors",
|
293
|
-
"spec/behaviors/core",
|
294
|
-
"spec/behaviors/core/controller_extensions_spec.rb",
|
293
|
+
"spec/behaviors/core/controller_extensions_spec.rb",
|
295
294
|
"spec/behaviors/core_spec.rb",
|
296
|
-
"spec/behaviors/remember_me",
|
297
295
|
"spec/behaviors/remember_me/configuration_spec.rb",
|
298
296
|
"spec/behaviors/remember_me_spec.rb",
|
299
|
-
"spec/controllers",
|
300
297
|
"spec/controllers/application_controller_spec.rb",
|
301
|
-
"spec/generators",
|
302
298
|
"spec/generators/sanity_checks_spec.rb",
|
303
299
|
"spec/generators/sparkly_spec.rb",
|
304
|
-
"spec/lib",
|
305
|
-
"spec/lib/auth",
|
306
300
|
"spec/lib/auth/configuration_spec.rb",
|
307
301
|
"spec/lib/auth/model_spec.rb",
|
308
302
|
"spec/lib/auth_spec.rb",
|
309
|
-
"spec/lib/hacks",
|
310
303
|
"spec/lib/hacks/rename_attributes_spec.rb",
|
311
|
-
"spec/mocks",
|
312
|
-
"spec/mocks/models",
|
313
304
|
"spec/mocks/models/user.rb",
|
314
305
|
"spec/routes_spec.rb",
|
315
306
|
"spec/spec2_helper.rb",
|
316
307
|
"spec/spec3_helper.rb",
|
317
308
|
"spec/spec_helper.rb",
|
318
|
-
"spec/views_spec.rb"
|
319
|
-
"spec_env/rails2",
|
320
|
-
"spec_env/rails2/app",
|
321
|
-
"spec_env/rails2/app/controllers",
|
322
|
-
"spec_env/rails2/app/controllers/application_controller.rb",
|
323
|
-
"spec_env/rails2/app/helpers",
|
324
|
-
"spec_env/rails2/app/helpers/application_helper.rb",
|
325
|
-
"spec_env/rails2/app/models",
|
326
|
-
"spec_env/rails2/app/models/user.rb",
|
327
|
-
"spec_env/rails2/app/views",
|
328
|
-
"spec_env/rails2/app/views/application",
|
329
|
-
"spec_env/rails2/app/views/application/not_found.html.erb",
|
330
|
-
"spec_env/rails2/app/views/layouts",
|
331
|
-
"spec_env/rails2/app/views/layouts/application.html.erb",
|
332
|
-
"spec_env/rails2/config",
|
333
|
-
"spec_env/rails2/config/boot.rb",
|
334
|
-
"spec_env/rails2/config/cucumber.yml",
|
335
|
-
"spec_env/rails2/config/database.yml",
|
336
|
-
"spec_env/rails2/config/environment.rb",
|
337
|
-
"spec_env/rails2/config/environments",
|
338
|
-
"spec_env/rails2/config/environments/cucumber.rb",
|
339
|
-
"spec_env/rails2/config/environments/development.rb",
|
340
|
-
"spec_env/rails2/config/environments/production.rb",
|
341
|
-
"spec_env/rails2/config/environments/test.rb",
|
342
|
-
"spec_env/rails2/config/initializers",
|
343
|
-
"spec_env/rails2/config/initializers/backtrace_silencers.rb",
|
344
|
-
"spec_env/rails2/config/initializers/inflections.rb",
|
345
|
-
"spec_env/rails2/config/initializers/mime_types.rb",
|
346
|
-
"spec_env/rails2/config/initializers/new_rails_defaults.rb",
|
347
|
-
"spec_env/rails2/config/initializers/session_store.rb",
|
348
|
-
"spec_env/rails2/config/initializers/sparkly_authentication.rb",
|
349
|
-
"spec_env/rails2/config/locales",
|
350
|
-
"spec_env/rails2/config/locales/en.yml",
|
351
|
-
"spec_env/rails2/config/routes.rb",
|
352
|
-
"spec_env/rails2/db",
|
353
|
-
"spec_env/rails2/db/development.sqlite3",
|
354
|
-
"spec_env/rails2/db/migrate",
|
355
|
-
"spec_env/rails2/db/migrate/001_create_sparkly_passwords.rb",
|
356
|
-
"spec_env/rails2/db/migrate/002_create_sparkly_remembered_tokens.rb",
|
357
|
-
"spec_env/rails2/db/migrate/003_add_confirmed_to_sparkly_passwords.rb",
|
358
|
-
"spec_env/rails2/db/migrate/20100607103543_create_users.rb",
|
359
|
-
"spec_env/rails2/db/migrate/20100609152058_add_email_to_users.rb",
|
360
|
-
"spec_env/rails2/db/schema.rb",
|
361
|
-
"spec_env/rails2/db/seeds.rb",
|
362
|
-
"spec_env/rails2/db/test.sqlite3",
|
363
|
-
"spec_env/rails2/doc",
|
364
|
-
"spec_env/rails2/doc/README_FOR_APP",
|
365
|
-
"spec_env/rails2/doc/sparkly_authentication.txt",
|
366
|
-
"spec_env/rails2/features",
|
367
|
-
"spec_env/rails2/features/support",
|
368
|
-
"spec_env/rails2/features/support/env.rb",
|
369
|
-
"spec_env/rails2/lib",
|
370
|
-
"spec_env/rails2/lib/tasks",
|
371
|
-
"spec_env/rails2/lib/tasks/cucumber.rake",
|
372
|
-
"spec_env/rails2/lib/tasks/rspec.rake",
|
373
|
-
"spec_env/rails2/lib/tasks/sparkly_migration.rb",
|
374
|
-
"spec_env/rails2/log",
|
375
|
-
"spec_env/rails2/log/cucumber.log",
|
376
|
-
"spec_env/rails2/log/development.log",
|
377
|
-
"spec_env/rails2/log/test.log",
|
378
|
-
"spec_env/rails2/public",
|
379
|
-
"spec_env/rails2/public/404.html",
|
380
|
-
"spec_env/rails2/public/422.html",
|
381
|
-
"spec_env/rails2/public/500.html",
|
382
|
-
"spec_env/rails2/public/favicon.ico",
|
383
|
-
"spec_env/rails2/public/images",
|
384
|
-
"spec_env/rails2/public/images/rails.png",
|
385
|
-
"spec_env/rails2/public/javascripts",
|
386
|
-
"spec_env/rails2/public/javascripts/application.js",
|
387
|
-
"spec_env/rails2/public/javascripts/controls.js",
|
388
|
-
"spec_env/rails2/public/javascripts/dragdrop.js",
|
389
|
-
"spec_env/rails2/public/javascripts/effects.js",
|
390
|
-
"spec_env/rails2/public/javascripts/prototype.js",
|
391
|
-
"spec_env/rails2/public/robots.txt",
|
392
|
-
"spec_env/rails2/Rakefile",
|
393
|
-
"spec_env/rails2/README.1ST",
|
394
|
-
"spec_env/rails2/rerun.txt",
|
395
|
-
"spec_env/rails2/script",
|
396
|
-
"spec_env/rails2/script/about",
|
397
|
-
"spec_env/rails2/script/autospec",
|
398
|
-
"spec_env/rails2/script/console",
|
399
|
-
"spec_env/rails2/script/cucumber",
|
400
|
-
"spec_env/rails2/script/dbconsole",
|
401
|
-
"spec_env/rails2/script/destroy",
|
402
|
-
"spec_env/rails2/script/generate",
|
403
|
-
"spec_env/rails2/script/performance",
|
404
|
-
"spec_env/rails2/script/performance/benchmarker",
|
405
|
-
"spec_env/rails2/script/performance/profiler",
|
406
|
-
"spec_env/rails2/script/plugin",
|
407
|
-
"spec_env/rails2/script/runner",
|
408
|
-
"spec_env/rails2/script/server",
|
409
|
-
"spec_env/rails2/script/spec",
|
410
|
-
"spec_env/rails2/spec",
|
411
|
-
"spec_env/rails2/spec/controllers",
|
412
|
-
"spec_env/rails2/spec/controllers/sparkly_user_sessions_controller_spec.rb",
|
413
|
-
"spec_env/rails2/spec/rcov.opts",
|
414
|
-
"spec_env/rails2/spec/spec.opts",
|
415
|
-
"spec_env/rails2/spec/spec_helper.rb",
|
416
|
-
"spec_env/rails2/test",
|
417
|
-
"spec_env/rails2/test/fixtures",
|
418
|
-
"spec_env/rails2/test/fixtures/users.yml",
|
419
|
-
"spec_env/rails2/test/performance",
|
420
|
-
"spec_env/rails2/test/performance/browsing_test.rb",
|
421
|
-
"spec_env/rails2/test/test_helper.rb",
|
422
|
-
"spec_env/rails2/test/unit",
|
423
|
-
"spec_env/rails2/test/unit/user_test.rb",
|
424
|
-
"spec_env/rails2/tmp",
|
425
|
-
"spec_env/rails2/tmp/cache",
|
426
|
-
"spec_env/rails2/tmp/pids",
|
427
|
-
"spec_env/rails2/tmp/sessions",
|
428
|
-
"spec_env/rails2/tmp/sockets",
|
429
|
-
"spec_env/rails2/vendor",
|
430
|
-
"spec_env/rails2/vendor/gems",
|
431
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0",
|
432
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/app",
|
433
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/generators",
|
434
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/generators/sparkly",
|
435
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/generators/sparkly/sparkly_generator.rb",
|
436
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/lib",
|
437
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/lib/sparkly-auth-bootstrap.rb",
|
438
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/rails",
|
439
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/rails/init.rb",
|
440
|
-
"spec_env/rails2/vendor/gems/sparkly-auth-bootstrap-1.0.0/sparkly-auth-bootstrap.gemspec",
|
441
|
-
"spec_env/rails3",
|
442
|
-
"spec_env/rails3/app",
|
443
|
-
"spec_env/rails3/app/controllers",
|
444
|
-
"spec_env/rails3/app/controllers/application_controller.rb",
|
445
|
-
"spec_env/rails3/app/helpers",
|
446
|
-
"spec_env/rails3/app/helpers/application_helper.rb",
|
447
|
-
"spec_env/rails3/app/mailers",
|
448
|
-
"spec_env/rails3/app/models",
|
449
|
-
"spec_env/rails3/app/models/user.rb",
|
450
|
-
"spec_env/rails3/app/views",
|
451
|
-
"spec_env/rails3/app/views/application",
|
452
|
-
"spec_env/rails3/app/views/application/not_found.html.erb",
|
453
|
-
"spec_env/rails3/app/views/layouts",
|
454
|
-
"spec_env/rails3/app/views/layouts/application.html.erb",
|
455
|
-
"spec_env/rails3/config",
|
456
|
-
"spec_env/rails3/config/application.rb",
|
457
|
-
"spec_env/rails3/config/boot.rb",
|
458
|
-
"spec_env/rails3/config/cucumber.yml",
|
459
|
-
"spec_env/rails3/config/database.yml",
|
460
|
-
"spec_env/rails3/config/environment.rb",
|
461
|
-
"spec_env/rails3/config/environments",
|
462
|
-
"spec_env/rails3/config/environments/development.rb",
|
463
|
-
"spec_env/rails3/config/environments/production.rb",
|
464
|
-
"spec_env/rails3/config/environments/spec.rb",
|
465
|
-
"spec_env/rails3/config/environments/test.rb",
|
466
|
-
"spec_env/rails3/config/initializers",
|
467
|
-
"spec_env/rails3/config/initializers/backtrace_silencers.rb",
|
468
|
-
"spec_env/rails3/config/initializers/inflections.rb",
|
469
|
-
"spec_env/rails3/config/initializers/mime_types.rb",
|
470
|
-
"spec_env/rails3/config/initializers/secret_token.rb",
|
471
|
-
"spec_env/rails3/config/initializers/session_store.rb",
|
472
|
-
"spec_env/rails3/config/initializers/sparkly_authentication.rb",
|
473
|
-
"spec_env/rails3/config/locales",
|
474
|
-
"spec_env/rails3/config/locales/en.yml",
|
475
|
-
"spec_env/rails3/config/routes.rb",
|
476
|
-
"spec_env/rails3/config.ru",
|
477
|
-
"spec_env/rails3/db",
|
478
|
-
"spec_env/rails3/db/development.sqlite3",
|
479
|
-
"spec_env/rails3/db/migrate",
|
480
|
-
"spec_env/rails3/db/migrate/001_create_sparkly_passwords.rb",
|
481
|
-
"spec_env/rails3/db/migrate/002_create_sparkly_remembered_tokens.rb",
|
482
|
-
"spec_env/rails3/db/migrate/20100810132843_create_users.rb",
|
483
|
-
"spec_env/rails3/db/schema.rb",
|
484
|
-
"spec_env/rails3/db/seeds.rb",
|
485
|
-
"spec_env/rails3/db/test.sqlite3",
|
486
|
-
"spec_env/rails3/doc",
|
487
|
-
"spec_env/rails3/doc/README_FOR_APP",
|
488
|
-
"spec_env/rails3/doc/sparkly_authentication.txt",
|
489
|
-
"spec_env/rails3/features",
|
490
|
-
"spec_env/rails3/features/support",
|
491
|
-
"spec_env/rails3/features/support/env.rb",
|
492
|
-
"spec_env/rails3/Gemfile",
|
493
|
-
"spec_env/rails3/Gemfile.lock",
|
494
|
-
"spec_env/rails3/lib",
|
495
|
-
"spec_env/rails3/lib/sparkly",
|
496
|
-
"spec_env/rails3/lib/sparkly/bootstrap.rb",
|
497
|
-
"spec_env/rails3/lib/tasks",
|
498
|
-
"spec_env/rails3/lib/tasks/cucumber.rake",
|
499
|
-
"spec_env/rails3/lib/tasks/sparkly_migration.rb",
|
500
|
-
"spec_env/rails3/log",
|
501
|
-
"spec_env/rails3/log/development.log",
|
502
|
-
"spec_env/rails3/log/spec.log",
|
503
|
-
"spec_env/rails3/log/test.log",
|
504
|
-
"spec_env/rails3/public",
|
505
|
-
"spec_env/rails3/public/404.html",
|
506
|
-
"spec_env/rails3/public/422.html",
|
507
|
-
"spec_env/rails3/public/500.html",
|
508
|
-
"spec_env/rails3/public/favicon.ico",
|
509
|
-
"spec_env/rails3/public/images",
|
510
|
-
"spec_env/rails3/public/images/rails.png",
|
511
|
-
"spec_env/rails3/public/javascripts",
|
512
|
-
"spec_env/rails3/public/javascripts/application.js",
|
513
|
-
"spec_env/rails3/public/javascripts/controls.js",
|
514
|
-
"spec_env/rails3/public/javascripts/dragdrop.js",
|
515
|
-
"spec_env/rails3/public/javascripts/effects.js",
|
516
|
-
"spec_env/rails3/public/javascripts/prototype.js",
|
517
|
-
"spec_env/rails3/public/javascripts/rails.js",
|
518
|
-
"spec_env/rails3/public/robots.txt",
|
519
|
-
"spec_env/rails3/public/stylesheets",
|
520
|
-
"spec_env/rails3/Rakefile",
|
521
|
-
"spec_env/rails3/README",
|
522
|
-
"spec_env/rails3/script",
|
523
|
-
"spec_env/rails3/script/cucumber",
|
524
|
-
"spec_env/rails3/script/rails",
|
525
|
-
"spec_env/rails3/spec",
|
526
|
-
"spec_env/rails3/spec/controllers",
|
527
|
-
"spec_env/rails3/spec/helpers",
|
528
|
-
"spec_env/rails3/test",
|
529
|
-
"spec_env/rails3/test/fixtures",
|
530
|
-
"spec_env/rails3/test/fixtures/users.yml",
|
531
|
-
"spec_env/rails3/test/functional",
|
532
|
-
"spec_env/rails3/test/integration",
|
533
|
-
"spec_env/rails3/test/performance",
|
534
|
-
"spec_env/rails3/test/performance/browsing_test.rb",
|
535
|
-
"spec_env/rails3/test/test_helper.rb",
|
536
|
-
"spec_env/rails3/test/unit",
|
537
|
-
"spec_env/rails3/test/unit/user_test.rb",
|
538
|
-
"spec_env/rails3/tmp",
|
539
|
-
"spec_env/rails3/tmp/cache",
|
540
|
-
"spec_env/rails3/tmp/pids",
|
541
|
-
"spec_env/rails3/tmp/sessions",
|
542
|
-
"spec_env/rails3/tmp/sockets",
|
543
|
-
"spec_env/rails3/vendor",
|
544
|
-
"spec_env/rails3/vendor/plugins",
|
545
|
-
"spec_env/rails3/webrat.log",
|
546
|
-
"features/create_sparkly_account.feature",
|
547
|
-
"features/delete_sparkly_account.feature",
|
548
|
-
"features/edit_sparkly_account.feature",
|
549
|
-
"features/lock_abused_sparkly_account.feature",
|
550
|
-
"features/login_sparkly_session.feature",
|
551
|
-
"features/logout_sparkly_session.feature",
|
552
|
-
"features/setup",
|
553
|
-
"features/setup/sparkly.rb",
|
554
|
-
"features/show_sparkly_account.feature",
|
555
|
-
"features/sparkly_session_timeout.feature",
|
556
|
-
"features/step_definitions",
|
557
|
-
"features/step_definitions/account",
|
558
|
-
"features/step_definitions/account/account_steps.rb",
|
559
|
-
"features/step_definitions/account/brief_steps.rb",
|
560
|
-
"features/step_definitions/debug_steps.rb",
|
561
|
-
"features/step_definitions/email_steps.rb",
|
562
|
-
"features/step_definitions/session",
|
563
|
-
"features/step_definitions/session/brief_steps.rb",
|
564
|
-
"features/step_definitions/session/logged_in_steps.rb",
|
565
|
-
"features/step_definitions/session/login_steps.rb",
|
566
|
-
"features/step_definitions/session/logout_steps.rb",
|
567
|
-
"features/step_definitions/session_steps.rb",
|
568
|
-
"features/step_definitions/sparkly_auth_steps.rb",
|
569
|
-
"features/step_definitions/web_steps.rb",
|
570
|
-
"features/support",
|
571
|
-
"features/support/env.rb",
|
572
|
-
"features/support/paths.rb",
|
573
|
-
"features/support/sparkly_helpers.rb"
|
309
|
+
"spec/views_spec.rb"
|
574
310
|
]
|
575
311
|
|
576
312
|
if s.respond_to? :specification_version then
|
577
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
578
313
|
s.specification_version = 3
|
579
314
|
|
580
315
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|