hydra-role-management 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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