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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +68 -0
- data/.rubocop.yml +50 -0
- data/CONTRIBUTING.md +22 -20
- data/Gemfile +3 -3
- data/README.md +33 -1
- data/Rakefile +14 -17
- data/SUPPORT.md +6 -0
- data/app/controllers/concerns/hydra/role_management/roles_behavior.rb +15 -16
- data/app/controllers/concerns/hydra/role_management/user_roles_behavior.rb +9 -8
- data/app/controllers/roles_controller.rb +2 -1
- data/app/controllers/user_roles_controller.rb +2 -2
- data/app/models/concerns/hydra/role_management/legacy_attribute_handling.rb +2 -0
- data/app/models/concerns/hydra/role_management/user_roles.rb +5 -4
- data/app/models/role.rb +8 -5
- data/app/views/roles/edit.html.erb +1 -1
- data/config/routes.rb +2 -2
- data/hydra-role-management.gemspec +19 -14
- data/lib/generators/roles/roles_generator.rb +30 -32
- data/lib/generators/roles/templates/hydra_role_management_rails3.rb +2 -1
- data/lib/generators/roles/templates/migrations/user_roles.rb +3 -2
- data/lib/hydra-role-management.rb +9 -3
- data/lib/hydra/role_management.rb +4 -2
- data/lib/hydra/role_management/version.rb +2 -1
- data/spec/controllers/roles_controller_spec.rb +27 -30
- data/spec/controllers/user_roles_controller_spec.rb +15 -13
- data/spec/lib/user_roles_spec.rb +21 -21
- data/spec/models/role_spec.rb +22 -20
- data/spec/routing/role_management_routes_spec.rb +29 -44
- data/spec/spec_helper.rb +4 -2
- data/spec/test_app_templates/app/models/sample.rb +7 -8
- data/spec/test_app_templates/app/models/solr_document.rb +2 -2
- data/spec/test_app_templates/config/initializers/hydra_config.rb +6 -6
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +6 -5
- metadata +88 -17
- 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
|
15
|
+
before do
|
15
16
|
@routes = Hydra::RoleManagement::Engine.routes
|
16
17
|
end
|
17
18
|
|
18
|
-
describe
|
19
|
-
it
|
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
|
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
|
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
|
32
|
+
describe 'adding users' do
|
32
33
|
before do
|
33
34
|
ability.can :add_user, Role
|
34
35
|
end
|
35
|
-
it "
|
36
|
-
|
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(
|
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
|
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
|
48
|
+
describe 'removing users' do
|
47
49
|
before do
|
48
50
|
ability.can :remove_user, Role
|
49
51
|
end
|
50
|
-
let
|
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
|
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 []
|
data/spec/lib/user_roles_spec.rb
CHANGED
@@ -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
|
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
|
9
|
-
expect(
|
9
|
+
it 'has admin?' do
|
10
|
+
expect(user).not_to be_admin
|
10
11
|
end
|
11
12
|
|
12
|
-
describe
|
13
|
+
describe 'with roles' do
|
13
14
|
before do
|
14
|
-
|
15
|
+
user.roles << librarian
|
15
16
|
end
|
16
17
|
|
17
|
-
its(:roles) {
|
18
|
-
its(:groups) {
|
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
|
23
|
+
describe 'when DeviseGuests is installed' do
|
23
24
|
before do
|
24
|
-
stub_const(
|
25
|
+
stub_const('DeviseGuests', true)
|
25
26
|
end
|
26
27
|
|
27
|
-
describe
|
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 {
|
33
|
+
it { is_expected.not_to be_admin }
|
33
34
|
|
34
|
-
describe
|
35
|
+
describe 'with roles' do
|
35
36
|
before do
|
36
|
-
|
37
|
+
user.roles << librarian
|
37
38
|
end
|
38
39
|
|
39
|
-
its(:groups) {
|
40
|
+
its(:groups) { is_expected.to include('registered', 'librarian') }
|
40
41
|
end
|
41
42
|
end
|
42
|
-
describe
|
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 {
|
48
|
-
its(:groups) {
|
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
|
data/spec/models/role_spec.rb
CHANGED
@@ -1,33 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
describe Role do
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
9
|
-
|
10
|
-
expect(
|
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
|
14
|
-
|
15
|
-
expect(
|
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
|
19
|
-
|
20
|
-
expect(
|
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
|
24
|
-
|
25
|
-
expect(
|
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
|
29
|
-
|
30
|
-
|
31
|
-
expect(
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
context
|
6
|
-
it
|
7
|
-
expect(:
|
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
|
10
|
-
expect(:
|
9
|
+
it 'routes create action' do
|
10
|
+
expect(post: '/roles').to route_to(controller: 'roles', action: 'create')
|
11
11
|
end
|
12
|
-
it
|
13
|
-
expect(:
|
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
|
16
|
-
expect(:
|
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
|
19
|
-
expect(:
|
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
|
24
|
-
before
|
25
|
-
|
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
|
-
|
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
|
49
|
-
expect(:
|
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
|
52
|
-
expect(:
|
36
|
+
it 'routes create action' do
|
37
|
+
expect(post: '/admin/groups').to route_to(controller: 'roles', action: 'create')
|
53
38
|
end
|
54
|
-
it
|
55
|
-
expect(:
|
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
|
58
|
-
expect(:
|
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
|
61
|
-
expect(:
|
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[
|
5
|
-
require
|
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(
|
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
|
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
|
-
|
31
|
-
|
32
|
-
end
|
33
|
-
|
31
|
+
attr_reader :pid
|
32
|
+
|
34
33
|
def destroy
|
35
34
|
self.class.objects.delete(@pid)
|
36
35
|
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
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
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
|
5
|
+
source_root './spec/test_app_templates'
|
5
6
|
|
6
7
|
def add_gems
|
7
|
-
gem 'blacklight',
|
8
|
+
gem 'blacklight', '>= 6.9.0'
|
8
9
|
end
|
9
10
|
|
10
11
|
def run_blacklight_generator
|
11
|
-
say_status(
|
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(
|
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(
|
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.
|
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:
|
11
|
+
date: 2019-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
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:
|
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:
|
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:
|
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
|
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:
|
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: '
|
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: '
|
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
|
-
- ".
|
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
|
-
|
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
|