radiant-users-extension 0.0.5 → 2.1.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/.gitignore +1 -0
  2. data/MIT-LICENCE +19 -0
  3. data/README.md +69 -16
  4. data/Rakefile +25 -11
  5. data/app/helpers/admin/users_helper.rb +5 -0
  6. data/app/models/administrator.rb +3 -0
  7. data/app/models/designer.rb +3 -0
  8. data/app/models/user.rb +82 -0
  9. data/app/models/visitor.rb +3 -0
  10. data/app/views/admin/users/_fields.html.haml +49 -0
  11. data/app/views/admin/users/_form.html.haml +6 -0
  12. data/app/views/admin/users/remove.html.haml +16 -0
  13. data/app/views/confirmations/new.html.haml +13 -0
  14. data/app/views/devise_mailer/confirmation_instructions.html.haml +9 -0
  15. data/app/views/devise_mailer/reset_password_instructions.html.haml +15 -0
  16. data/app/views/devise_mailer/unlock_instructions.html.haml +12 -0
  17. data/app/views/mailer/confirmation_instructions.html.haml +4 -0
  18. data/app/views/mailer/reset_password_instructions.html.haml +6 -0
  19. data/app/views/mailer/unlock_instructions.html.haml +5 -0
  20. data/app/views/passwords/edit.html.haml +17 -0
  21. data/app/views/passwords/new.html.haml +14 -0
  22. data/app/views/registrations/edit.html.haml +32 -0
  23. data/app/views/registrations/new.html.haml +30 -0
  24. data/app/views/sessions/new.html.haml +27 -0
  25. data/app/views/shared/_links.html.haml +42 -0
  26. data/app/views/shared/_version.html.haml +5 -0
  27. data/app/views/unlocks/new.html.haml +9 -0
  28. data/config/initializers/devise.rb +12 -0
  29. data/config/initializers/radiant_config.rb +3 -0
  30. data/config/initializers/radiant_devise_encryptor.rb +10 -0
  31. data/config/locales/devise.en.yml +35 -0
  32. data/config/locales/en.yml +8 -0
  33. data/config/routes.rb +11 -6
  34. data/db/migrate/20110105024337_change_users_to_devise.rb +94 -0
  35. data/db/migrate/20110105150917_add_class_name_field.rb +9 -0
  36. data/db/migrate/20110107032850_move_permissions_to_class.rb +30 -0
  37. data/db/migrate/20110118103247_change_admin_to_administrator.rb +18 -0
  38. data/features/support/env.rb +1 -1
  39. data/lib/login_system.rb +81 -0
  40. data/lib/radiant-users-extension.rb +2 -1
  41. data/lib/radiant-users-extension/version.rb +3 -0
  42. data/lib/tasks/users_extension_tasks.rake +3 -2
  43. data/lib/users/controllers/admin/resource_controller.rb +15 -0
  44. data/lib/users/controllers/admin/welcome_controller.rb +19 -0
  45. data/lib/users/controllers/application_controller.rb +25 -0
  46. data/lib/users/controllers/devise/confirmations_controller.rb +17 -0
  47. data/lib/users/controllers/devise/passwords_controller.rb +17 -0
  48. data/lib/users/controllers/devise/registrations_controller.rb +17 -0
  49. data/lib/users/controllers/devise/sessions_controller.rb +17 -0
  50. data/lib/users/controllers/single_form_body_styles.rb +27 -0
  51. data/lib/users/controllers/site_controller.rb +13 -0
  52. data/lib/users/lib/devise/controllers/internal_helpers.rb +31 -0
  53. data/lib/users/tags/core.rb +11 -13
  54. data/lib/users/tags/helper.rb +13 -0
  55. data/lib/users/tags/helpers.rb +1 -7
  56. data/radiant-users-extension.gemspec +73 -13
  57. data/spec/datasets/devise_users_dataset.rb +56 -0
  58. data/spec/models/user_spec.rb +125 -13
  59. data/spec/spec.opts +3 -4
  60. data/spec/spec_helper.rb +15 -4
  61. data/spec/tags/core_spec.rb +128 -0
  62. data/users_extension.rb +27 -9
  63. metadata +105 -21
  64. data/db/migrate/20100311014641_add_api_key_to_users.rb +0 -14
  65. data/db/migrate/20100311021835_add_access_to_user.rb +0 -9
  66. data/lib/users/lib/login_system.rb +0 -48
@@ -0,0 +1,56 @@
1
+ class DeviseUsersDataset < Dataset::Base
2
+
3
+ def load
4
+ create_user "Existing", :class_name => 'User'
5
+ create_user "Another", :class_name => 'User'
6
+ create_user "Admin", :class_name => 'Admin'
7
+ create_user "Designer", :class_name => 'Designer'
8
+ create_user "Non_admin", :class_name => 'Visitor'
9
+ end
10
+
11
+ helpers do
12
+ def create_user(name, attributes={})
13
+ user = create_model :user, name.downcase.to_sym, user_attributes(attributes.update(:name => name))
14
+ if user.nil?
15
+ throw "Error creating user dataset for #{name}"
16
+ end
17
+ end
18
+
19
+ def user_attributes(attributes={})
20
+ name = attributes[:name]
21
+ if name.nil?
22
+ throw "name attribute is required"
23
+ end
24
+
25
+ attributes = {
26
+ :name => name,
27
+ :email => "#{name.downcase}@example.com",
28
+ :username => name.downcase,
29
+ :password => "password"
30
+ }.merge(attributes)
31
+ attributes[:password_confirmation] = attributes[:password]
32
+ attributes
33
+ end
34
+
35
+ def user_params(options = {})
36
+ {
37
+ :name => 'John Doe',
38
+ :username => 'jdoe',
39
+ :password => 'password',
40
+ :password_confirmation => 'password',
41
+ :email => 'jdoe@gmail.com'
42
+ }.merge(options)
43
+ end
44
+
45
+ def login_as(user)
46
+ login_user = user.is_a?(User) ? user : users(user)
47
+ flunk "Can't login as non-existing user #{user.to_s}." unless login_user
48
+ request.session['user_id'] = login_user.id
49
+ login_user
50
+ end
51
+
52
+ def logout
53
+ request.session['user_id'] = nil
54
+ end
55
+ end
56
+ end
@@ -1,24 +1,136 @@
1
- require 'spec/spec_helper'
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
2
 
3
3
  describe User do
4
-
5
- dataset :users
6
4
 
7
- describe '#access attribute' do
8
- it 'should be protected' do
9
- @user = User.new({
10
- :access => 'everything'
11
- })
5
+ dataset :devise_users
6
+
7
+ it { should have_default_scope(:order => 'name') }
8
+
9
+ it { should belong_to(:created_by).class_name('User') }
10
+ it { should belong_to(:updated_by).class_name('User') }
11
+
12
+ it { should validate_presence_of(:name) }
13
+ # it { should validate_presence_of(:class_name) } not working
14
+
15
+ describe "#login" do
16
+ it 'should return username' do
17
+ users(:admin).login.should === users(:admin).username
18
+ end
19
+ end
20
+
21
+ describe '#admin?' do
22
+ it 'should return whether the user is an admin' do
23
+ users(:admin).admin?.should be_true
24
+ users(:designer).admin?.should be_false
25
+ end
26
+ end
27
+
28
+ describe '#designer?' do
29
+ it 'should return whether the user is an designer' do
30
+ users(:designer).designer?.should be_true
31
+ users(:admin).designer?.should be_false
32
+ end
33
+ end
34
+
35
+ describe "#update" do
36
+ it 'should not update a users password if it is blank' do
37
+ @user = users(:admin)
38
+ @user.valid_password?('password').should be_true
39
+ @user.update_attributes({ :password => "", :password_confirmation => "", :username => "newmin"})
12
40
 
13
- @user.access.should === ''
41
+ @user.valid?.should be_true
42
+ @user.valid_password?('password').should be_true
43
+ @user.username.should === 'newmin'
44
+ end
45
+ end
46
+
47
+ describe "#login=" do
48
+ it "should set the username" do
49
+ @user = users(:admin)
50
+ @user.login = "new username"
51
+ @user.username.should == "new username"
52
+ end
53
+ end
54
+
55
+ describe '#new_class_name' do
56
+ it "should set the class_name" do
57
+ @user = users(:admin)
58
+ @user.new_class_name.should == @user.class_name
59
+ end
60
+ end
61
+
62
+ describe '#new_class_name=' do
63
+ before :each do
64
+ @user = users(:admin)
65
+ mock(UserActionObserver).current_user { @user}
66
+ end
67
+ it "should set the class_name" do
68
+ @user.new_class_name = "boggle snap"
69
+ @user.class_name.should == "boggle snap"
70
+ end
71
+ it "should not set the class name if they're not an admin" do
72
+ @user = users(:designer)
73
+ @user.new_class_name = "boggle snap"
74
+ @user.class_name.should_not == "boggle snap"
75
+ end
76
+ end
77
+
78
+ describe "self.unprotected_attributes" do
79
+ it "should be an array of [:name, :email, :username, :login, :password, :password_confirmation, :locale]" do
80
+ # Make sure we clean up after anything set in another spec
81
+ User.instance_variable_set(:@unprotected_attributes, nil)
82
+ User.unprotected_attributes.should == [:name, :email, :username, :login, :password, :password_confirmation, :locale]
83
+ end
84
+ end
85
+ describe "self.unprotected_attributes=" do
86
+ it "should set the @@unprotected_attributes variable to the given array" do
87
+ User.unprotected_attributes = [:password, :email, :other]
88
+ User.unprotected_attributes.should == [:password, :email, :other]
14
89
  end
15
90
  end
16
91
 
17
- describe '#generate_api_key' do
18
- it 'should generate an api key on initialize' do
19
- @user = User.new
20
- @user.api_key.should_not be_nil
92
+ describe "self.find_for_authentication" do
93
+ it "should find by username" do
94
+ @user = User.find_for_authentication({:login => users(:admin).username})
95
+ @user.should === users(:admin)
21
96
  end
22
97
  end
23
98
 
99
+ end
100
+
101
+ describe User, "roles" do
102
+
103
+ dataset :devise_users
104
+
105
+ it "should not have a non-existent role" do
106
+ users(:existing).has_role?(:foo).should be_false
107
+ end
108
+
109
+ it "should not have a role for which the corresponding method returns false" do
110
+ users(:existing).has_role?(:designer).should be_false
111
+ users(:existing).has_role?(:admin).should be_false
112
+ end
113
+
114
+ it "should have a role for which the corresponding method returns true" do
115
+ users(:designer).has_role?(:designer).should be_true
116
+ users(:admin).has_role?(:admin).should be_true
117
+ end
118
+
119
+ it "should return true for #authorized? userss" do
120
+ users(:existing).authorized?.should be_true
121
+ users(:designer).authorized?.should be_true
122
+ users(:admin).authorized?.should be_true
123
+ end
124
+
125
+ end
126
+
127
+ describe User, "inheritence" do
128
+
129
+ class Visitor < User; end
130
+
131
+ it "should be scoped by class_name" do
132
+ v = Visitor.new
133
+ v.class_name.should == "Visitor"
134
+ end
135
+
24
136
  end
data/spec/spec.opts CHANGED
@@ -1,6 +1,5 @@
1
1
  --colour
2
- --format
3
- progress
4
- --loadby
5
- mtime
2
+ --format specdoc
3
+ --loadby mtime
6
4
  --reverse
5
+ --backtrace
data/spec/spec_helper.rb CHANGED
@@ -10,9 +10,20 @@ unless defined? RADIANT_ROOT
10
10
  end
11
11
  end
12
12
  require "#{RADIANT_ROOT}/spec/spec_helper"
13
+ require 'remarkable_rails'
13
14
 
14
- Dataset::Resolver.default << (File.dirname(__FILE__) + "/datasets")
15
-
16
- Spec::Runner.configure do |config|
17
- config.mock_with :rr
15
+ unless defined? USERS_ROOT
16
+
17
+ USERS_ROOT = UsersExtension.root + '/spec'
18
+
19
+ Dataset::Resolver.default << (USERS_ROOT + "/datasets")
20
+
21
+ if File.directory?(USERS_ROOT + "/matchers")
22
+ Dir[USERS_ROOT + "/matchers/**/*.rb"].each {|file| require file }
23
+ end
24
+
25
+ Spec::Runner.configure do |config|
26
+ config.mock_with :rr
27
+ end
28
+
18
29
  end
@@ -0,0 +1,128 @@
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
+
3
+ describe Users::Tags::Core, "collection" do
4
+
5
+ it 'should describe these tags' do
6
+ Users::Tags::Core.tags.sort.should == [
7
+ 'user',
8
+ 'user:if_user',
9
+ 'user:unless_user',
10
+ 'user:if_authorized',
11
+ 'user:unless_authorized',
12
+ 'user:name',
13
+ 'user:login',
14
+ 'user:username',
15
+ 'user:email',
16
+ 'user:class_name'
17
+ ].sort
18
+ end
19
+
20
+ end
21
+
22
+ describe Users::Tags::Core do
23
+
24
+ dataset :pages, :devise_users
25
+
26
+ before :each do
27
+ @page = pages(:home)
28
+ stub(@page).cache? { false }
29
+
30
+ @user = users(:admin)
31
+ stub(Users::Tags::Helper).current_user(anything) { @user }
32
+ end
33
+
34
+ describe '<r:user />' do
35
+
36
+ it 'should render <r:user/> if the page is not cached' do
37
+ tag = %{<r:user>success</r:user>}
38
+ exp = %{success}
39
+
40
+ @page.should render(tag).as(exp)
41
+ end
42
+
43
+ it 'should not render <r:user/> if the page is not cached' do
44
+ stub(@page).cache? { true }
45
+
46
+ tag = %{<r:user>failure</r:user>}
47
+ exp = %{}
48
+
49
+ @page.should render(tag).as(exp)
50
+ end
51
+
52
+ end
53
+
54
+ describe '<r:user:if_user />' do
55
+
56
+ it 'should render <r:if_user/> if there is a current user' do
57
+ tag = %{<r:user:if_user>success</r:user:if_user>}
58
+ exp = %{success}
59
+
60
+ @page.should render(tag).as(exp)
61
+ end
62
+
63
+ it 'should not render <r:if_user/> if there is not a current user' do
64
+ mock(Users::Tags::Helper).current_user(anything) { false }
65
+
66
+ tag = %{<r:user:if_user>failure</r:user:if_user>}
67
+ exp = %{}
68
+
69
+ @page.should render(tag).as(exp)
70
+ end
71
+
72
+ end
73
+
74
+ describe '<r:user:unless_user />' do
75
+
76
+ it 'should render <r:unless_user/> if there is not a current user' do
77
+ mock(Users::Tags::Helper).current_user(anything) { false }
78
+
79
+ tag = %{<r:user:unless_user>success</r:user:unless_user>}
80
+ exp = %{success}
81
+
82
+ @page.should render(tag).as(exp)
83
+ end
84
+
85
+ it 'should not render <r:unless_user/> if there is a current user' do
86
+ tag = %{<r:user:unless_user>failure</r:user:unless_user>}
87
+ exp = %{}
88
+
89
+ @page.should render(tag).as(exp)
90
+ end
91
+
92
+ end
93
+
94
+ describe '<r:user:if_authorized />' do
95
+
96
+ it 'should render <r:if_authorized/> if the user is a moderator' do
97
+ tag = %{<r:user:if_authorized>success</r:user:if_authorized>}
98
+ exp = %{success}
99
+
100
+ @page.should render(tag).as(exp)
101
+ end
102
+
103
+ it 'should not render <r:if_authorized/> if the user is not a moderator' do
104
+ @user = users(:non_admin)
105
+ tag = %{<r:user:if_authorized>failure</r:user:if_authorized>}
106
+ exp = %{}
107
+
108
+ @page.should render(tag).as(exp)
109
+ end
110
+
111
+ end
112
+
113
+ describe '<r:user:* />' do
114
+
115
+ [:name, :login, :username, :email, :class_name].each do |symbol|
116
+
117
+ it "should render <r:user:#{symbol} />" do
118
+ tag = %{<r:user:#{symbol}/>}
119
+ exp = @user.send(symbol)
120
+
121
+ @page.should render(tag).as(exp)
122
+ end
123
+
124
+ end
125
+
126
+ end
127
+
128
+ end
data/users_extension.rb CHANGED
@@ -1,16 +1,34 @@
1
+ require 'radiant-users-extension/version'
2
+ require 'devise'
3
+
1
4
  class UsersExtension < Radiant::Extension
2
- version YAML::load_file(File.join(File.dirname(__FILE__), 'VERSION'))
3
- description "Users allows you to create non-admin users with API access"
5
+ version RadiantUsersExtension::VERSION
6
+ description "Adds users to Radiant."
4
7
  url "http://github.com/dirkkelly/radiant-users-extension"
5
-
8
+
9
+ extension_config do |config|
10
+ config.gem 'devise'
11
+ end
12
+
6
13
  def activate
7
- # Tags
8
- Page.send :include, Users::Tags::Core
14
+ Page.send :include, Users::Tags::Core
15
+
16
+ SiteController.send :include, Users::Controllers::SiteController
17
+
18
+ ApplicationController.send :include, Users::Controllers::ApplicationController
19
+
20
+ Admin::ResourceController.send :include, Users::Controllers::Admin::ResourceController
21
+
22
+ Admin::WelcomeController.send :include, Users::Controllers::Admin::WelcomeController
23
+
24
+ SessionsController.send :include, Users::Controllers::Devise::SessionsController
25
+ PasswordsController.send :include, Users::Controllers::Devise::PasswordsController
26
+ ConfirmationsController.send :include, Users::Controllers::Devise::ConfirmationsController
27
+ RegistrationsController.send :include, Users::Controllers::Devise::RegistrationsController
9
28
 
10
- # Models
11
- User.send :include, Users::Models::User
29
+ Devise::Controllers::InternalHelpers.send :include, Users::Lib::Devise::Controllers::InternalHelpers
12
30
 
13
- # Controllers
14
- ApplicationController.send :include, Users::Lib::LoginSystem
31
+ Radiant::Config['site.host'] ||= 'localhost:3000'
32
+ ActionMailer::Base.default_url_options = { :host => Radiant::Config['site.host'] }
15
33
  end
16
34
  end
metadata CHANGED
@@ -1,27 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiant-users-extension
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease: false
4
+ hash: 31098217
5
+ prerelease: 6
6
6
  segments:
7
+ - 2
8
+ - 1
7
9
  - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
10
+ - beta
11
+ version: 2.1.0.beta
11
12
  platform: ruby
12
13
  authors:
13
- - Christopher Rankin
14
14
  - Dirk Kelly
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-12-14 00:00:00 +08:00
19
+ date: 2011-01-18 00:00:00 +08:00
20
20
  default_executable:
21
- dependencies: []
22
-
23
- description: Users creates support for non-admin users with API access
24
- email: dk@squaretalent.com
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 25
30
+ segments:
31
+ - 0
32
+ - 9
33
+ version: "0.9"
34
+ type: :runtime
35
+ name: radiant
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 5
45
+ segments:
46
+ - 1
47
+ - 0
48
+ - 9
49
+ version: 1.0.9
50
+ type: :runtime
51
+ name: devise
52
+ version_requirements: *id002
53
+ description: Makes Radiant better by adding users!
54
+ email:
55
+ - dk@dirkkelly.com
25
56
  executables: []
26
57
 
27
58
  extensions: []
@@ -29,34 +60,80 @@ extensions: []
29
60
  extra_rdoc_files:
30
61
  - README.md
31
62
  files:
63
+ - .gitignore
64
+ - MIT-LICENCE
32
65
  - README.md
33
66
  - Rakefile
34
67
  - VERSION
68
+ - app/helpers/admin/users_helper.rb
69
+ - app/models/administrator.rb
70
+ - app/models/designer.rb
71
+ - app/models/user.rb
72
+ - app/models/visitor.rb
73
+ - app/views/admin/users/_fields.html.haml
74
+ - app/views/admin/users/_form.html.haml
75
+ - app/views/admin/users/remove.html.haml
76
+ - app/views/confirmations/new.html.haml
77
+ - app/views/devise_mailer/confirmation_instructions.html.haml
78
+ - app/views/devise_mailer/reset_password_instructions.html.haml
79
+ - app/views/devise_mailer/unlock_instructions.html.haml
80
+ - app/views/mailer/confirmation_instructions.html.haml
81
+ - app/views/mailer/reset_password_instructions.html.haml
82
+ - app/views/mailer/unlock_instructions.html.haml
83
+ - app/views/passwords/edit.html.haml
84
+ - app/views/passwords/new.html.haml
85
+ - app/views/registrations/edit.html.haml
86
+ - app/views/registrations/new.html.haml
87
+ - app/views/sessions/new.html.haml
88
+ - app/views/shared/_links.html.haml
89
+ - app/views/shared/_version.html.haml
90
+ - app/views/unlocks/new.html.haml
91
+ - config/initializers/devise.rb
92
+ - config/initializers/radiant_config.rb
93
+ - config/initializers/radiant_devise_encryptor.rb
94
+ - config/locales/devise.en.yml
95
+ - config/locales/en.yml
35
96
  - config/routes.rb
36
97
  - cucumber.yml
37
- - db/migrate/20100311014641_add_api_key_to_users.rb
38
- - db/migrate/20100311021835_add_access_to_user.rb
98
+ - db/migrate/20110105024337_change_users_to_devise.rb
99
+ - db/migrate/20110105150917_add_class_name_field.rb
100
+ - db/migrate/20110107032850_move_permissions_to_class.rb
101
+ - db/migrate/20110118103247_change_admin_to_administrator.rb
39
102
  - features/support/env.rb
40
103
  - features/support/paths.rb
104
+ - lib/login_system.rb
41
105
  - lib/radiant-users-extension.rb
106
+ - lib/radiant-users-extension/version.rb
42
107
  - lib/tasks/users_extension_tasks.rake
43
- - lib/users/lib/login_system.rb
108
+ - lib/users/controllers/admin/resource_controller.rb
109
+ - lib/users/controllers/admin/welcome_controller.rb
110
+ - lib/users/controllers/application_controller.rb
111
+ - lib/users/controllers/devise/confirmations_controller.rb
112
+ - lib/users/controllers/devise/passwords_controller.rb
113
+ - lib/users/controllers/devise/registrations_controller.rb
114
+ - lib/users/controllers/devise/sessions_controller.rb
115
+ - lib/users/controllers/single_form_body_styles.rb
116
+ - lib/users/controllers/site_controller.rb
117
+ - lib/users/lib/devise/controllers/internal_helpers.rb
44
118
  - lib/users/models/user.rb
45
119
  - lib/users/models/user/scoped.rb
46
120
  - lib/users/tags/core.rb
121
+ - lib/users/tags/helper.rb
47
122
  - lib/users/tags/helpers.rb
48
123
  - radiant-users-extension.gemspec
124
+ - spec/datasets/devise_users_dataset.rb
49
125
  - spec/datasets/scoped_users_dataset.rb
50
126
  - spec/models/user_spec.rb
51
127
  - spec/models/visitor_spec.rb
52
128
  - spec/spec.opts
53
129
  - spec/spec_helper.rb
130
+ - spec/tags/core_spec.rb
54
131
  - users_extension.rb
55
132
  has_rdoc: true
56
133
  homepage: http://github.com/dirkkelly/radiant-users-extension
57
134
  licenses: []
58
135
 
59
- post_install_message:
136
+ post_install_message: "\n Add this to your radiant project with:\n config.gem 'radiant-users-extension', :version => '2.1.0.beta'\n "
60
137
  rdoc_options: []
61
138
 
62
139
  require_paths:
@@ -73,21 +150,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
150
  required_rubygems_version: !ruby/object:Gem::Requirement
74
151
  none: false
75
152
  requirements:
76
- - - ">="
153
+ - - ">"
77
154
  - !ruby/object:Gem::Version
78
- hash: 3
155
+ hash: 25
79
156
  segments:
80
- - 0
81
- version: "0"
157
+ - 1
158
+ - 3
159
+ - 1
160
+ version: 1.3.1
82
161
  requirements: []
83
162
 
84
163
  rubyforge_project:
85
- rubygems_version: 1.3.7
164
+ rubygems_version: 1.4.2
86
165
  signing_key:
87
166
  specification_version: 3
88
- summary: Users Extension for Radiant CMS
167
+ summary: Users for Radiant CMS
89
168
  test_files:
169
+ - features/support/env.rb
170
+ - features/support/paths.rb
171
+ - spec/datasets/devise_users_dataset.rb
90
172
  - spec/datasets/scoped_users_dataset.rb
91
173
  - spec/models/user_spec.rb
92
174
  - spec/models/visitor_spec.rb
175
+ - spec/spec.opts
93
176
  - spec/spec_helper.rb
177
+ - spec/tags/core_spec.rb