radiant-users-extension 0.0.5 → 2.1.0.beta

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