hydra-role-management 1.0.0 → 1.0.1

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 (36) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +68 -0
  3. data/.rubocop.yml +50 -0
  4. data/CONTRIBUTING.md +22 -20
  5. data/Gemfile +3 -3
  6. data/README.md +33 -1
  7. data/Rakefile +14 -17
  8. data/SUPPORT.md +6 -0
  9. data/app/controllers/concerns/hydra/role_management/roles_behavior.rb +15 -16
  10. data/app/controllers/concerns/hydra/role_management/user_roles_behavior.rb +9 -8
  11. data/app/controllers/roles_controller.rb +2 -1
  12. data/app/controllers/user_roles_controller.rb +2 -2
  13. data/app/models/concerns/hydra/role_management/legacy_attribute_handling.rb +2 -0
  14. data/app/models/concerns/hydra/role_management/user_roles.rb +5 -4
  15. data/app/models/role.rb +8 -5
  16. data/app/views/roles/edit.html.erb +1 -1
  17. data/config/routes.rb +2 -2
  18. data/hydra-role-management.gemspec +19 -14
  19. data/lib/generators/roles/roles_generator.rb +30 -32
  20. data/lib/generators/roles/templates/hydra_role_management_rails3.rb +2 -1
  21. data/lib/generators/roles/templates/migrations/user_roles.rb +3 -2
  22. data/lib/hydra-role-management.rb +9 -3
  23. data/lib/hydra/role_management.rb +4 -2
  24. data/lib/hydra/role_management/version.rb +2 -1
  25. data/spec/controllers/roles_controller_spec.rb +27 -30
  26. data/spec/controllers/user_roles_controller_spec.rb +15 -13
  27. data/spec/lib/user_roles_spec.rb +21 -21
  28. data/spec/models/role_spec.rb +22 -20
  29. data/spec/routing/role_management_routes_spec.rb +29 -44
  30. data/spec/spec_helper.rb +4 -2
  31. data/spec/test_app_templates/app/models/sample.rb +7 -8
  32. data/spec/test_app_templates/app/models/solr_document.rb +2 -2
  33. data/spec/test_app_templates/config/initializers/hydra_config.rb +6 -6
  34. data/spec/test_app_templates/lib/generators/test_app_generator.rb +6 -5
  35. metadata +88 -17
  36. data/.travis.yml +0 -11
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  describe UserRolesController do
2
3
  let(:ability) do
3
4
  ability = Object.new
@@ -11,49 +12,50 @@ describe UserRolesController do
11
12
  Role.create(name: 'foo')
12
13
  end
13
14
 
14
- before(:each) do
15
+ before do
15
16
  @routes = Hydra::RoleManagement::Engine.routes
16
17
  end
17
18
 
18
- describe "with a user who cannot edit users" do
19
- it "should not be able to add a user" do
19
+ describe 'with a user who cannot edit users' do
20
+ it 'is not able to add a user' do
20
21
  expect { post :create, params: { role_id: role, user_key: 'foo@example.com' } }.to raise_error CanCan::AccessDenied
21
22
  end
22
- it "should not be able to remove a user" do
23
+ it 'is not able to remove a user' do
23
24
  expect { delete :destroy, params: { role_id: role, id: 7 } }.to raise_error CanCan::AccessDenied
24
25
  end
25
26
  end
26
27
 
27
- describe "with a user who can edit users" do
28
+ describe 'with a user who can edit users' do
28
29
  before do
29
30
  ability.can :read, Role
30
31
  end
31
- describe "adding users" do
32
+ describe 'adding users' do
32
33
  before do
33
34
  ability.can :add_user, Role
34
35
  end
35
- it "should not be able to add a user that doesn't exist" do
36
- expect(User).to receive(:find_by_email).with('foo@example.com').and_return(nil)
36
+ it "is not able to add a user that doesn't exist" do
37
+ allow(User).to receive(:find_by_email).and_return(nil)
37
38
  post :create, params: { role_id: role, user_key: 'foo@example.com' }
38
- expect(flash[:error]).to eq "Unable to find the user foo@example.com"
39
+ expect(User).to have_received(:find_by_email).with('foo@example.com')
40
+ expect(flash[:error]).to eq 'Unable to find the user foo@example.com'
39
41
  end
40
- it "should be able to add a user" do
42
+ it 'is able to add a user' do
41
43
  u = User.create!(email: 'foo@example.com', password: 'password', password_confirmation: 'password')
42
44
  post :create, params: { role_id: role, user_key: 'foo@example.com' }
43
45
  expect(role.reload.users).to eq [u]
44
46
  end
45
47
  end
46
- describe "removing users" do
48
+ describe 'removing users' do
47
49
  before do
48
50
  ability.can :remove_user, Role
49
51
  end
50
- let (:user) do
52
+ let(:user) do
51
53
  u = User.new(email: 'foo@example.com', password: 'password', password_confirmation: 'password')
52
54
  u.roles = [role]
53
55
  u.save!
54
56
  u
55
57
  end
56
- it "should be able to remove a user" do
58
+ it 'is able to remove a user' do
57
59
  expect(user.roles).to eq [role]
58
60
  delete :destroy, params: { role_id: role, id: user.id }
59
61
  expect(role.reload.users).to eq []
@@ -1,52 +1,52 @@
1
+ # frozen_string_literal: true
1
2
  describe Hydra::RoleManagement::UserRoles do
2
3
  let(:librarian) { Role.create!(name: 'librarian') }
3
- describe "a real user" do
4
- subject do
4
+ describe 'a real user' do
5
+ subject(:user) do
5
6
  User.create!(email: 'fred@example.com', password: 'password')
6
7
  end
7
8
 
8
- it "should have admin?" do
9
- expect(subject).not_to be_admin
9
+ it 'has admin?' do
10
+ expect(user).not_to be_admin
10
11
  end
11
12
 
12
- describe "with roles" do
13
+ describe 'with roles' do
13
14
  before do
14
- subject.roles << librarian
15
+ user.roles << librarian
15
16
  end
16
17
 
17
- its(:roles) { should eq [librarian] }
18
- its(:groups) { should include('registered', 'librarian') }
18
+ its(:roles) { is_expected.to eq [librarian] }
19
+ its(:groups) { is_expected.to include('registered', 'librarian') }
19
20
  end
20
21
  end
21
22
 
22
- describe "when DeviseGuests is installed" do
23
+ describe 'when DeviseGuests is installed' do
23
24
  before do
24
- stub_const("DeviseGuests", true)
25
+ stub_const('DeviseGuests', true)
25
26
  end
26
27
 
27
- describe "a real user" do
28
- subject do
28
+ describe 'a real user' do
29
+ subject(:user) do
29
30
  User.create!(email: 'fred@example.com', password: 'password')
30
31
  end
31
32
 
32
- it { should_not be_admin }
33
+ it { is_expected.not_to be_admin }
33
34
 
34
- describe "with roles" do
35
+ describe 'with roles' do
35
36
  before do
36
- subject.roles << librarian
37
+ user.roles << librarian
37
38
  end
38
39
 
39
- its(:groups) { should include('registered', 'librarian') }
40
+ its(:groups) { is_expected.to include('registered', 'librarian') }
40
41
  end
41
42
  end
42
- describe "a guest user" do
43
- subject do
43
+ describe 'a guest user' do
44
+ subject(:user) do
44
45
  User.create!(email: 'fred@example.com', password: 'password', guest: true)
45
46
  end
46
47
 
47
- it { should_not be_admin }
48
- its(:groups) { should be_empty }
48
+ it { is_expected.not_to be_admin }
49
+ its(:groups) { is_expected.to be_empty }
49
50
  end
50
51
  end
51
-
52
52
  end
@@ -1,33 +1,35 @@
1
+ # frozen_string_literal: true
1
2
  describe Role do
2
- it "should require a name" do
3
- expect(subject).not_to be_valid
4
- subject.name = 'foo'
5
- expect(subject).to be_valid
3
+ subject(:role) { described_class.new }
4
+ it 'requires a name' do
5
+ expect(role).not_to be_valid
6
+ role.name = 'foo'
7
+ expect(role).to be_valid
6
8
  end
7
9
 
8
- it "should not allow space in the name" do
9
- subject.name = 'foo bar'
10
- expect(subject).not_to be_valid
10
+ it 'does not allow space in the name' do
11
+ role.name = 'foo bar'
12
+ expect(role).not_to be_valid
11
13
  end
12
14
 
13
- it "should not allow comma in the name" do
14
- subject.name = 'foo,bar'
15
- expect(subject).not_to be_valid
15
+ it 'does not allow comma in the name' do
16
+ role.name = 'foo,bar'
17
+ expect(role).not_to be_valid
16
18
  end
17
19
 
18
- it "should not allow ampersand in the name" do
19
- subject.name = 'foo&bar'
20
- expect(subject).not_to be_valid
20
+ it 'does not allow ampersand in the name' do
21
+ role.name = 'foo&bar'
22
+ expect(role).not_to be_valid
21
23
  end
22
24
 
23
- it "should not allow less-than in the name" do
24
- subject.name = 'foo<bar'
25
- expect(subject).not_to be_valid
25
+ it 'does not allow less-than in the name' do
26
+ role.name = 'foo<bar'
27
+ expect(role).not_to be_valid
26
28
  end
27
29
 
28
- it "should validate uniqueness" do
29
- subject.name ='foo'
30
- subject.save!
31
- expect(Role.new(name: 'foo')).not_to be_valid
30
+ it 'validates uniqueness' do
31
+ role.name = 'foo'
32
+ role.save!
33
+ expect(described_class.new(name: 'foo')).not_to be_valid
32
34
  end
33
35
  end
@@ -1,64 +1,49 @@
1
- describe "Routes for role_management" do
2
- routes {
3
- Hydra::RoleManagement::Engine.routes
4
- }
5
- context "default" do
6
- it "should route index" do
7
- expect(:get => '/roles').to route_to( :controller => "roles", :action => "index")
1
+ # frozen_string_literal: true
2
+ describe 'Routes for role_management', type: :routing do
3
+ routes { Hydra::RoleManagement::Engine.routes }
4
+
5
+ context 'when using the default engine routes' do
6
+ it 'routes to the index action' do
7
+ expect(get: '/roles').to route_to(controller: 'roles', action: 'index')
8
8
  end
9
- it "should create roles" do
10
- expect(:post => '/roles').to route_to( :controller => "roles", :action => "create")
9
+ it 'routes create action' do
10
+ expect(post: '/roles').to route_to(controller: 'roles', action: 'create')
11
11
  end
12
- it "should show roles" do
13
- expect(:get => '/roles/7').to route_to( :controller => "roles", :action => "show", :id => '7')
12
+ it 'routes to the show action' do
13
+ expect(get: '/roles/7').to route_to(controller: 'roles', action: 'show', id: '7')
14
14
  end
15
- it "should add users" do
16
- expect(:post => '/roles/7/users').to route_to( :controller => "user_roles", :role_id=>'7', :action => "create")
15
+ it 'routes to the create action for creating a new user' do
16
+ expect(post: '/roles/7/users').to route_to(controller: 'user_roles', role_id: '7', action: 'create')
17
17
  end
18
- it "should remove users" do
19
- expect(:delete => '/roles/7/users/5').to route_to( :controller => "user_roles", :role_id=>'7', :id=>'5', :action => "destroy")
18
+ it 'routes to the delete action for deleting an existing user' do
19
+ expect(delete: '/roles/7/users/5').to route_to(controller: 'user_roles', role_id: '7', id: '5', action: 'destroy')
20
20
  end
21
21
  end
22
22
 
23
- context "specific" do
24
- before(:all) do
25
- @routes_rb = File.join(Rails.root,'config/routes.rb')
26
- @routes_rb_content = File.read(@routes_rb)
27
- File.open(@routes_rb,'w') do |f|
28
- f.write @routes_rb_content.sub(
29
- /mount Hydra::RoleManagement::Engine => '\/'/,
30
- "Hydra::RoleManagement.draw_routes(self, path: '/admin/groups')"
31
- )
32
- end
23
+ context 'when customizing the engine routes' do
24
+ before do
25
+ routes.draw { Hydra::RoleManagement.draw_routes(self, path: '/admin/groups') }
33
26
  Rails.application.reload_routes!
34
27
  end
35
28
 
36
- before(:each) do
37
- @routes = Hydra::RoleManagement::Engine.routes
38
- # so we have to do this instead:
39
- # engine routes broke in rspec rails 2.12.1, so we had to add this:
40
- assertion_instance.instance_variable_set(:@routes, @routes)
41
- end
42
-
43
- after(:all) do
44
- File.open(@routes_rb,'w') { |f| f.write(@routes_rb_content) }
29
+ after do
45
30
  Rails.application.reload_routes!
46
31
  end
47
32
 
48
- it "should route index" do
49
- expect(:get => '/admin/groups').to route_to( :controller => "roles", :action => "index")
33
+ it 'routes to the index action' do
34
+ expect(get: '/admin/groups').to route_to(controller: 'roles', action: 'index')
50
35
  end
51
- it "should create roles" do
52
- expect(:post => '/admin/groups').to route_to( :controller => "roles", :action => "create")
36
+ it 'routes create action' do
37
+ expect(post: '/admin/groups').to route_to(controller: 'roles', action: 'create')
53
38
  end
54
- it "should show roles" do
55
- expect(:get => '/admin/groups/7').to route_to( :controller => "roles", :action => "show", :id => '7')
39
+ it 'routes to the show action' do
40
+ expect(get: '/admin/groups/7').to route_to(controller: 'roles', action: 'show', id: '7')
56
41
  end
57
- it "should add users" do
58
- expect(:post => '/admin/groups/7/users').to route_to( :controller => "user_roles", :role_id=>'7', :action => "create")
42
+ it 'routes to the create action for creating a new user' do
43
+ expect(post: '/admin/groups/7/users').to route_to(controller: 'user_roles', role_id: '7', action: 'create')
59
44
  end
60
- it "should remove users" do
61
- expect(:delete => '/admin/groups/7/users/5').to route_to( :controller => "user_roles", :role_id=>'7', :id=>'5', :action => "destroy")
45
+ it 'routes to the delete action for deleting an existing user' do
46
+ expect(delete: '/admin/groups/7/users/5').to route_to(controller: 'user_roles', role_id: '7', id: '5', action: 'destroy')
62
47
  end
63
48
  end
64
49
  end
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  require 'coveralls'
2
3
  Coveralls.wear!
3
4
 
4
- ENV["RAILS_ENV"] ||= 'test'
5
- require "bundler/setup"
5
+ ENV['RAILS_ENV'] ||= 'test'
6
+ require 'bundler/setup'
6
7
 
7
8
  require 'engine_cart'
8
9
  EngineCart.load_application!
@@ -11,6 +12,7 @@ require 'rails-controller-testing'
11
12
  require 'rspec/rails'
12
13
  require 'rspec/its'
13
14
  require 'hydra/role_management'
15
+ require 'pry-byebug'
14
16
 
15
17
  RSpec.configure do |config|
16
18
  config.use_transactional_fixtures = true
@@ -1,24 +1,25 @@
1
+ # frozen_string_literal: true
1
2
  class Sample
2
3
  # This is a stub model for testing.
3
4
 
4
5
  cattr_accessor :objects
5
6
  self.objects = {}
6
7
 
7
- def self.create(params={})
8
+ def self.create(_params = {})
8
9
  obj = Sample.new
9
10
  obj.save
10
11
  obj
11
12
  end
12
13
 
13
- def save()
14
+ def save
14
15
  @pid ||= "sample:#{(rand * 1000).to_i}"
15
16
  self.class.objects[@pid] = self
16
17
  end
17
18
 
18
19
  def update_attributes(attributes)
19
20
  attributes.each do |k, v|
20
- instance_variable_set "@#{k.to_s}".to_sym, v
21
-
21
+ instance_variable_set "@#{k}".to_sym, v
22
+
22
23
  self.class.send :attr_accessor, k
23
24
  end
24
25
  end
@@ -27,10 +28,8 @@ class Sample
27
28
  objects[pid]
28
29
  end
29
30
 
30
- def pid
31
- @pid
32
- end
33
-
31
+ attr_reader :pid
32
+
34
33
  def destroy
35
34
  self.class.objects.delete(@pid)
36
35
  end
@@ -1,5 +1,5 @@
1
- # -*- encoding : utf-8 -*-
2
- class SolrDocument
3
1
 
2
+ # frozen_string_literal: true
3
+ class SolrDocument
4
4
  include Blacklight::Solr::Document
5
5
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # The following lines determine which user attributes your hydrangea app will use
2
3
  # This configuration allows you to use the out of the box ActiveRecord associations between users and user_attributes
3
4
  # It also allows you to specify your own user attributes
@@ -17,12 +18,11 @@ if Hydra.respond_to?(:configure)
17
18
  # If you change these, you must also update the permissions request handler in your solrconfig.xml to return those values
18
19
  indexer = Solrizer::Descriptor.new(:string, :stored, :indexed, :multivalued)
19
20
  config[:permissions] = {
20
- :discover => {:group =>ActiveFedora::SolrService.solr_name("discover_access_group", indexer), :individual=>ActiveFedora::SolrService.solr_name("discover_access_person", indexer)},
21
- :read => {:group =>ActiveFedora::SolrService.solr_name("read_access_group", indexer), :individual=>ActiveFedora::SolrService.solr_name("read_access_person", indexer)},
22
- :edit => {:group =>ActiveFedora::SolrService.solr_name("edit_access_group", indexer), :individual=>ActiveFedora::SolrService.solr_name("edit_access_person", indexer)},
23
- :owner => ActiveFedora::SolrService.solr_name("depositor", indexer),
24
- :embargo_release_date => ActiveFedora::SolrService.solr_name("embargo_release_date", Solrizer::Descriptor.new(:date, :stored, :indexed))
21
+ discover: { group: ActiveFedora::SolrService.solr_name('discover_access_group', indexer), individual: ActiveFedora::SolrService.solr_name('discover_access_person', indexer) },
22
+ read: { group: ActiveFedora::SolrService.solr_name('read_access_group', indexer), individual: ActiveFedora::SolrService.solr_name('read_access_person', indexer) },
23
+ edit: { group: ActiveFedora::SolrService.solr_name('edit_access_group', indexer), individual: ActiveFedora::SolrService.solr_name('edit_access_person', indexer) },
24
+ owner: ActiveFedora::SolrService.solr_name('depositor', indexer),
25
+ embargo_release_date: ActiveFedora::SolrService.solr_name('embargo_release_date', Solrizer::Descriptor.new(:date, :stored, :indexed))
25
26
  }
26
-
27
27
  end
28
28
  end
@@ -1,25 +1,26 @@
1
+ # frozen_string_literal: true
1
2
  require 'rails/generators'
2
3
 
3
4
  class TestAppGenerator < Rails::Generators::Base
4
- source_root "./spec/test_app_templates"
5
+ source_root './spec/test_app_templates'
5
6
 
6
7
  def add_gems
7
- gem 'blacklight', ">= 5.4"
8
+ gem 'blacklight', '>= 6.9.0'
8
9
  end
9
10
 
10
11
  def run_blacklight_generator
11
- say_status("warning", "GENERATING BL", :yellow)
12
+ say_status('warning', 'GENERATING BL', :yellow)
12
13
 
13
14
  generate 'blacklight:install', '--devise'
14
15
  end
15
16
 
16
17
  def run_cancan_generator
17
- say_status("warning", "GENERATING Ability", :yellow)
18
+ say_status('warning', 'GENERATING Ability', :yellow)
18
19
  generate 'cancan:ability'
19
20
  end
20
21
 
21
22
  def run_roles_generator
22
- say_status("warning", "GENERATING ROLES", :yellow)
23
+ say_status('warning', 'GENERATING ROLES', :yellow)
23
24
  generate 'roles', '-f'
24
25
  end
25
26
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-role-management
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-02 00:00:00.000000000 Z
11
+ date: 2019-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bootstrap_form
14
+ name: blacklight
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: blacklight
28
+ name: bootstrap_form
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '1.5'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '1.5'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: cancancan
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,49 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rake
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.8'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bixby
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: engine_cart
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.1'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-byebug
57
113
  requirement: !ruby/object:Gem::Requirement
58
114
  requirements:
59
115
  - - ">="
@@ -67,7 +123,21 @@ dependencies:
67
123
  - !ruby/object:Gem::Version
68
124
  version: '0'
69
125
  - !ruby/object:Gem::Dependency
70
- name: rspec-rails
126
+ name: rails-controller-testing
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake
71
141
  requirement: !ruby/object:Gem::Requirement
72
142
  requirements:
73
143
  - - ">="
@@ -95,33 +165,33 @@ dependencies:
95
165
  - !ruby/object:Gem::Version
96
166
  version: '0'
97
167
  - !ruby/object:Gem::Dependency
98
- name: rails-controller-testing
168
+ name: rspec-rails
99
169
  requirement: !ruby/object:Gem::Requirement
100
170
  requirements:
101
- - - "~>"
171
+ - - ">="
102
172
  - !ruby/object:Gem::Version
103
173
  version: '0'
104
174
  type: :development
105
175
  prerelease: false
106
176
  version_requirements: !ruby/object:Gem::Requirement
107
177
  requirements:
108
- - - "~>"
178
+ - - ">="
109
179
  - !ruby/object:Gem::Version
110
180
  version: '0'
111
181
  - !ruby/object:Gem::Dependency
112
- name: engine_cart
182
+ name: rspec_junit_formatter
113
183
  requirement: !ruby/object:Gem::Requirement
114
184
  requirements:
115
- - - "~>"
185
+ - - ">="
116
186
  - !ruby/object:Gem::Version
117
- version: '1.0'
187
+ version: '0'
118
188
  type: :development
119
189
  prerelease: false
120
190
  version_requirements: !ruby/object:Gem::Requirement
121
191
  requirements:
122
- - - "~>"
192
+ - - ">="
123
193
  - !ruby/object:Gem::Version
124
- version: '1.0'
194
+ version: '0'
125
195
  description: Rails engine to do user roles in an RDBMS for hydra-head
126
196
  email:
127
197
  - justin@curationexperts.com
@@ -129,14 +199,16 @@ executables: []
129
199
  extensions: []
130
200
  extra_rdoc_files: []
131
201
  files:
202
+ - ".circleci/config.yml"
132
203
  - ".gitignore"
133
204
  - ".rspec"
134
- - ".travis.yml"
205
+ - ".rubocop.yml"
135
206
  - CONTRIBUTING.md
136
207
  - Gemfile
137
208
  - LICENSE.md
138
209
  - README.md
139
210
  - Rakefile
211
+ - SUPPORT.md
140
212
  - app/controllers/concerns/hydra/role_management/roles_behavior.rb
141
213
  - app/controllers/concerns/hydra/role_management/user_roles_behavior.rb
142
214
  - app/controllers/roles_controller.rb
@@ -188,8 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
260
  - !ruby/object:Gem::Version
189
261
  version: '0'
190
262
  requirements: []
191
- rubyforge_project:
192
- rubygems_version: 2.6.13
263
+ rubygems_version: 3.0.1
193
264
  signing_key:
194
265
  specification_version: 4
195
266
  summary: Rails engine to do user roles in an RDBMS for hydra-head