hydra-role-management 0.1.0 → 0.2.0
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 +4 -4
- data/.gitignore +6 -0
- data/.travis.yml +18 -0
- data/Gemfile +12 -13
- data/Rakefile +11 -39
- data/app/controllers/concerns/hydra/role_management/user_roles_behavior.rb +11 -1
- data/app/models/concerns/hydra/role_management/user_roles.rb +9 -1
- data/config/routes.rb +1 -1
- data/hydra-role-management.gemspec +5 -3
- data/lib/generators/roles/roles_generator.rb +8 -3
- data/lib/hydra-role-management.rb +15 -1
- data/lib/hydra/role_management.rb +1 -0
- data/lib/hydra/role_management/version.rb +1 -1
- data/spec/controllers/user_roles_controller_spec.rb +1 -1
- data/spec/lib/user_roles_spec.rb +43 -15
- data/spec/routing/role_management_routes_spec.rb +60 -19
- data/spec/spec_helper.rb +7 -5
- data/spec/{support → test_app_templates}/app/models/sample.rb +0 -0
- data/spec/{support → test_app_templates}/app/models/solr_document.rb +0 -0
- data/spec/{support → test_app_templates}/config/initializers/hydra_config.rb +0 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +30 -0
- metadata +57 -32
- data/spec/support/gemfile_stub +0 -4
- data/spec/support/lib/generators/test_app_generator.rb +0 -43
- data/spec/support/lib/tasks/rspec.rake +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 019d9799498cd996b1206a5979af5f312ec82f4e
|
4
|
+
data.tar.gz: b23a8554dc4227f60635bf6d99ba4c1699130a74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca61c77684d0ac4cd468074afb51e58dce7d5cc271bdd8aa661a4b3102df600a05549926e0d5ae3e1cb5aa1733141ad6d26fe23f5cf6118c3fa35b05a59e3ee3
|
7
|
+
data.tar.gz: e8bbaf0a58a66214faccf4f50c2ee3b40cad43a12f54fa9900d20cbff3faca4ae77fdf4b9cccbe4dba9ec36c472165bd04e232e03fce356a56ef58031cb7f089
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.0
|
4
|
+
- 2.1
|
5
|
+
env:
|
6
|
+
global:
|
7
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
8
|
+
notifications:
|
9
|
+
email:
|
10
|
+
recipients:
|
11
|
+
- "justin@curationexperts.com"
|
12
|
+
on_success: "change"
|
13
|
+
on_failure: "always"
|
14
|
+
irc:
|
15
|
+
channels:
|
16
|
+
- "irc.freenode.org#projecthydra"
|
17
|
+
template:
|
18
|
+
- "%{repository}//%{branch}@%{commit} by %{author}: %{message} - %{build_url}"
|
data/Gemfile
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
when "master"
|
7
|
-
{:github => "rails/rails"}
|
8
|
-
when "default"
|
9
|
-
">= 3.2.13"
|
10
|
-
else
|
11
|
-
"~> #{rails_version}"
|
12
|
-
end
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
gem 'rspec-its'
|
13
6
|
|
14
|
-
gem "
|
15
|
-
gem
|
16
|
-
gem '
|
7
|
+
# To avoid: 'Bundler could not find compatible versions for gem "sprockets":'
|
8
|
+
gem 'sass', '~> 3.2.15'
|
9
|
+
gem 'sprockets', '~> 2.11.0'
|
10
|
+
|
11
|
+
file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__))
|
12
|
+
if File.exists?(file)
|
13
|
+
puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
|
14
|
+
instance_eval File.read(file)
|
15
|
+
end
|
data/Rakefile
CHANGED
@@ -1,51 +1,23 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
+
require 'bundler/setup'
|
2
3
|
require "bundler/gem_tasks"
|
3
|
-
require 'rspec/core/rake_task'
|
4
4
|
|
5
|
-
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
require 'engine_cart/rake_task'
|
6
7
|
|
7
|
-
desc 'Default: run specs.'
|
8
|
-
task :default => :spec
|
9
8
|
|
9
|
+
desc 'Default: run ci.'
|
10
|
+
task :default => :ci
|
10
11
|
|
11
|
-
task :spec => [:clean, :generate] do |t|
|
12
|
-
focused_spec = ENV['SPEC'] ? " SPEC=#{File.join(GEM_ROOT, ENV['SPEC'])}" : ''
|
13
|
-
within_test_app do
|
14
|
-
system "rake myspec#{focused_spec}"
|
15
|
-
abort "Error running hydra-role-management" unless $?.success?
|
16
|
-
end
|
17
|
-
end
|
18
12
|
|
13
|
+
desc "Make clean, generate test app, and run the tests"
|
14
|
+
task :ci => [:clean, :generate, :spec]
|
19
15
|
|
16
|
+
desc "Run the tests"
|
17
|
+
RSpec::Core::RakeTask.new(:spec)
|
20
18
|
|
21
19
|
desc "Create the test rails app"
|
22
|
-
task :generate
|
23
|
-
unless File.exists?('spec/internal/Rakefile')
|
24
|
-
puts "Generating rails app"
|
25
|
-
`rails _ENV["RAILS_VERSION"]_ new spec/internal`
|
26
|
-
puts "Adding hydra gems to gemfile"
|
27
|
-
`cat spec/support/gemfile_stub >> spec/internal/Gemfile`
|
28
|
-
puts "Copying generator"
|
29
|
-
`cp -r spec/support/lib/generators spec/internal/lib`
|
30
|
-
|
31
|
-
within_test_app do
|
32
|
-
`bundle install`
|
33
|
-
system "rails generate test_app"
|
34
|
-
`rake db:migrate db:test:prepare`
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
20
|
+
task :generate => 'engine_cart:generate'
|
38
21
|
|
39
22
|
desc "Clean out the test rails app"
|
40
|
-
task :clean
|
41
|
-
puts "Removing sample rails app"
|
42
|
-
`rm -rf spec/internal`
|
43
|
-
end
|
44
|
-
|
45
|
-
def within_test_app
|
46
|
-
FileUtils.cd('spec/internal')
|
47
|
-
Bundler.with_clean_env do
|
48
|
-
yield
|
49
|
-
end
|
50
|
-
FileUtils.cd('../..')
|
51
|
-
end
|
23
|
+
task :clean => 'engine_cart:clean'
|
@@ -9,7 +9,7 @@ module Hydra
|
|
9
9
|
|
10
10
|
def create
|
11
11
|
authorize! :add_user, @role
|
12
|
-
u =
|
12
|
+
u = find_user
|
13
13
|
if u
|
14
14
|
u.roles << @role
|
15
15
|
u.save!
|
@@ -24,6 +24,16 @@ module Hydra
|
|
24
24
|
@role.users.delete(::User.find(params[:id]))
|
25
25
|
redirect_to role_management.role_path(@role)
|
26
26
|
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def find_user
|
31
|
+
User.send("find_by_#{find_column}".to_sym, params[:user_key])
|
32
|
+
end
|
33
|
+
|
34
|
+
def find_column
|
35
|
+
Devise.authentication_keys.first
|
36
|
+
end
|
27
37
|
end
|
28
38
|
end
|
29
39
|
end
|
@@ -8,10 +8,18 @@ module Hydra
|
|
8
8
|
|
9
9
|
def groups
|
10
10
|
g = roles.map(&:name)
|
11
|
-
g += ['registered'] unless new_record? || guest?
|
11
|
+
g += ['registered'] unless new_record? || guest?
|
12
12
|
g
|
13
13
|
end
|
14
14
|
|
15
|
+
def guest?
|
16
|
+
if defined?(DeviseGuests)
|
17
|
+
read_attribute :guest
|
18
|
+
else
|
19
|
+
false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
15
23
|
|
16
24
|
def admin?
|
17
25
|
roles.where(name: 'admin').exists?
|
data/config/routes.rb
CHANGED
@@ -15,9 +15,11 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Hydra::RoleManagement::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency '
|
19
|
-
gem.add_dependency '
|
18
|
+
gem.add_dependency 'bootstrap_form'
|
19
|
+
gem.add_dependency 'blacklight'
|
20
|
+
gem.add_dependency 'cancancan'
|
20
21
|
gem.add_development_dependency 'rake'
|
21
|
-
gem.add_development_dependency 'rails'
|
22
22
|
gem.add_development_dependency 'rspec-rails'
|
23
|
+
gem.add_development_dependency 'rspec-its'
|
24
|
+
gem.add_development_dependency 'engine_cart'
|
23
25
|
end
|
@@ -38,10 +38,15 @@ This generator makes the following changes to your application:
|
|
38
38
|
def inject_user_roles_behavior
|
39
39
|
file_path = "app/models/#{model_name.underscore}.rb"
|
40
40
|
if File.exists?(file_path)
|
41
|
-
if File.read(file_path).match(/include Hydra::User/)
|
41
|
+
place_marker = if File.read(file_path).match(/include Hydra::User/)
|
42
|
+
/include Hydra::User/
|
43
|
+
elsif File.read(file_path).match(/include Blacklight::User/)
|
44
|
+
/include Blacklight::User/
|
45
|
+
end
|
46
|
+
if place_marker
|
42
47
|
code = "\n # Connects this user object to Role-management behaviors. " +
|
43
48
|
"\n include Hydra::RoleManagement::UserRoles\n"
|
44
|
-
inject_into_file file_path, code, { :after =>
|
49
|
+
inject_into_file file_path, code, { :after => place_marker }
|
45
50
|
else
|
46
51
|
puts " \e[31mFailure\e[0m Hydra::User is not included in #{file_path}. Add 'include Hydra::User' and rerun."
|
47
52
|
end
|
@@ -86,8 +91,8 @@ This generator makes the following changes to your application:
|
|
86
91
|
|
87
92
|
def better_migration_template (file)
|
88
93
|
begin
|
89
|
-
migration_template "migrations/#{file}", "db/migrate/#{file}"
|
90
94
|
sleep 1 # ensure scripts have different time stamps
|
95
|
+
migration_template "migrations/#{file}", "db/migrate/#{file}"
|
91
96
|
rescue
|
92
97
|
puts " \e[1m\e[34mMigrations\e[0m " + $!.message
|
93
98
|
end
|
@@ -1,2 +1,16 @@
|
|
1
1
|
require "hydra/role_management"
|
2
|
-
require '
|
2
|
+
require 'bootstrap_form'
|
3
|
+
|
4
|
+
module Hydra
|
5
|
+
module RoleManagement
|
6
|
+
mattr_accessor :route_options
|
7
|
+
self.route_options = {}
|
8
|
+
|
9
|
+
def self.draw_routes(router, opts={})
|
10
|
+
self.route_options = opts
|
11
|
+
router.instance_exec do
|
12
|
+
mount Hydra::RoleManagement::Engine => '/'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -34,7 +34,7 @@ describe UserRolesController do
|
|
34
34
|
ability.can :add_user, Role
|
35
35
|
end
|
36
36
|
it "should not be able to add a user that doesn't exist" do
|
37
|
-
User.should_receive(:
|
37
|
+
User.should_receive(:find_by_email).with('foo@example.com').and_return(nil)
|
38
38
|
post :create, role_id: role, user_key: 'foo@example.com'
|
39
39
|
flash[:error].should == "Unable to find the user foo@example.com"
|
40
40
|
end
|
data/spec/lib/user_roles_spec.rb
CHANGED
@@ -1,26 +1,54 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Hydra::RoleManagement::UserRoles do
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
let(:librarian) { Role.create!(name: 'librarian') }
|
5
|
+
describe "a real user" do
|
6
|
+
subject do
|
7
|
+
User.create!(email: 'fred@example.com', password: 'password')
|
8
|
+
end
|
7
9
|
|
8
|
-
|
9
|
-
|
10
|
-
|
10
|
+
it "should have admin?" do
|
11
|
+
subject.should_not be_admin
|
12
|
+
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
describe "with roles" do
|
15
|
+
before do
|
16
|
+
subject.roles << librarian
|
17
|
+
end
|
16
18
|
|
19
|
+
its(:roles) { should eq [librarian] }
|
20
|
+
its(:groups) { should include('registered', 'librarian') }
|
21
|
+
end
|
17
22
|
end
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
+
describe "when DeviseGuests is installed" do
|
25
|
+
before do
|
26
|
+
stub_const("DeviseGuests", true)
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "a real user" do
|
30
|
+
subject do
|
31
|
+
User.create!(email: 'fred@example.com', password: 'password')
|
32
|
+
end
|
33
|
+
|
34
|
+
it { should_not be_admin }
|
35
|
+
|
36
|
+
describe "with roles" do
|
37
|
+
before do
|
38
|
+
subject.roles << librarian
|
39
|
+
end
|
40
|
+
|
41
|
+
its(:groups) { should include('registered', 'librarian') }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
describe "a guest user" do
|
45
|
+
subject do
|
46
|
+
User.create!(email: 'fred@example.com', password: 'password', guest: true)
|
47
|
+
end
|
48
|
+
|
49
|
+
it { should_not be_admin }
|
50
|
+
its(:groups) { should be_empty }
|
51
|
+
end
|
24
52
|
end
|
25
53
|
|
26
54
|
end
|
@@ -1,25 +1,66 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "Routes for role_management" do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
routes {
|
5
|
+
Hydra::RoleManagement::Engine.routes
|
6
|
+
}
|
7
|
+
context "default" do
|
8
|
+
it "should route index" do
|
9
|
+
{ :get => '/roles' }.should route_to( :controller => "roles", :action => "index")
|
10
|
+
end
|
11
|
+
it "should create roles" do
|
12
|
+
{ :post => '/roles' }.should route_to( :controller => "roles", :action => "create")
|
13
|
+
end
|
14
|
+
it "should show roles" do
|
15
|
+
{ :get => '/roles/7' }.should route_to( :controller => "roles", :action => "show", :id => '7')
|
16
|
+
end
|
17
|
+
it "should add users" do
|
18
|
+
{ :post => '/roles/7/users' }.should route_to( :controller => "user_roles", :role_id=>'7', :action => "create")
|
19
|
+
end
|
20
|
+
it "should remove users" do
|
21
|
+
{ :delete => '/roles/7/users/5' }.should route_to( :controller => "user_roles", :role_id=>'7', :id=>'5', :action => "destroy")
|
22
|
+
end
|
9
23
|
end
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
+
|
25
|
+
context "specific" do
|
26
|
+
before(:all) do
|
27
|
+
@routes_rb = File.join(Rails.root,'config/routes.rb')
|
28
|
+
@routes_rb_content = File.read(@routes_rb)
|
29
|
+
File.open(@routes_rb,'w') do |f|
|
30
|
+
f.write @routes_rb_content.sub(
|
31
|
+
/mount Hydra::RoleManagement::Engine => '\/'/,
|
32
|
+
"Hydra::RoleManagement.draw_routes(self, path: '/admin/groups')"
|
33
|
+
)
|
34
|
+
end
|
35
|
+
Rails.application.reload_routes!
|
36
|
+
end
|
37
|
+
|
38
|
+
before(:each) do
|
39
|
+
@routes = Hydra::RoleManagement::Engine.routes
|
40
|
+
# so we have to do this instead:
|
41
|
+
# engine routes broke in rspec rails 2.12.1, so we had to add this:
|
42
|
+
assertion_instance.instance_variable_set(:@routes, @routes)
|
43
|
+
end
|
44
|
+
|
45
|
+
after(:all) do
|
46
|
+
File.open(@routes_rb,'w') { |f| f.write(@routes_rb_content) }
|
47
|
+
Rails.application.reload_routes!
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should route index" do
|
51
|
+
{ :get => '/admin/groups' }.should route_to( :controller => "roles", :action => "index")
|
52
|
+
end
|
53
|
+
it "should create roles" do
|
54
|
+
{ :post => '/admin/groups' }.should route_to( :controller => "roles", :action => "create")
|
55
|
+
end
|
56
|
+
it "should show roles" do
|
57
|
+
{ :get => '/admin/groups/7' }.should route_to( :controller => "roles", :action => "show", :id => '7')
|
58
|
+
end
|
59
|
+
it "should add users" do
|
60
|
+
{ :post => '/admin/groups/7/users' }.should route_to( :controller => "user_roles", :role_id=>'7', :action => "create")
|
61
|
+
end
|
62
|
+
it "should remove users" do
|
63
|
+
{ :delete => '/admin/groups/7/users/5' }.should route_to( :controller => "user_roles", :role_id=>'7', :id=>'5', :action => "destroy")
|
64
|
+
end
|
24
65
|
end
|
25
66
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
1
|
+
require "bundler/setup"
|
3
2
|
ENV["RAILS_ENV"] ||= 'test'
|
4
3
|
|
5
|
-
require File.expand_path("config/environment", ENV['RAILS_ROOT'] || File.expand_path("../internal", __FILE__))
|
6
|
-
require 'rspec/rails'
|
7
4
|
|
5
|
+
require 'engine_cart'
|
6
|
+
EngineCart.load_application!
|
7
|
+
require 'rspec/rails'
|
8
|
+
require 'hydra/role_management'
|
8
9
|
|
9
10
|
RSpec.configure do |config|
|
10
11
|
config.use_transactional_fixtures = true
|
11
12
|
config.before(:each, :type=>"controller") { @routes = Hydra::RoleManagement::Engine.routes }
|
12
13
|
config.include Devise::TestHelpers, :type => :controller
|
13
|
-
|
14
|
+
|
15
|
+
config.infer_spec_type_from_file_location!
|
14
16
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
class TestAppGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path("../../../../test_app_templates", __FILE__)
|
5
|
+
def add_gems
|
6
|
+
gem 'blacklight', ">= 5.4"
|
7
|
+
end
|
8
|
+
|
9
|
+
def run_blacklight_generator
|
10
|
+
say_status("warning", "GENERATING BL", :yellow)
|
11
|
+
|
12
|
+
generate 'blacklight:install', '--devise'
|
13
|
+
end
|
14
|
+
|
15
|
+
def run_cancan_generator
|
16
|
+
say_status("warning", "GENERATING Ability", :yellow)
|
17
|
+
generate 'cancan:ability'
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_roles_generator
|
21
|
+
say_status("warning", "GENERATING ROLES", :yellow)
|
22
|
+
|
23
|
+
generate 'roles', '-f'
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
def copy_rspec_rake_task
|
28
|
+
copy_file "lib/tasks/rspec.rake"
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,83 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-role-management
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
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: 2014-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bootstrap_form
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: blacklight
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cancancan
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec-rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
46
74
|
- !ruby/object:Gem::Version
|
47
75
|
version: '0'
|
48
76
|
type: :development
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
|
-
- -
|
80
|
+
- - ">="
|
53
81
|
- !ruby/object:Gem::Version
|
54
82
|
version: '0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
84
|
+
name: rspec-its
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
58
86
|
requirements:
|
59
|
-
- -
|
87
|
+
- - ">="
|
60
88
|
- !ruby/object:Gem::Version
|
61
89
|
version: '0'
|
62
90
|
type: :development
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
66
|
-
- -
|
94
|
+
- - ">="
|
67
95
|
- !ruby/object:Gem::Version
|
68
96
|
version: '0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
98
|
+
name: engine_cart
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
|
-
- -
|
101
|
+
- - ">="
|
74
102
|
- !ruby/object:Gem::Version
|
75
103
|
version: '0'
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
|
-
- -
|
108
|
+
- - ">="
|
81
109
|
- !ruby/object:Gem::Version
|
82
110
|
version: '0'
|
83
111
|
description: Rails engine to do user roles in an RDBMS for hydra-head
|
@@ -87,7 +115,8 @@ executables: []
|
|
87
115
|
extensions: []
|
88
116
|
extra_rdoc_files: []
|
89
117
|
files:
|
90
|
-
- .gitignore
|
118
|
+
- ".gitignore"
|
119
|
+
- ".travis.yml"
|
91
120
|
- CONTRIBUTING.md
|
92
121
|
- Gemfile
|
93
122
|
- README.md
|
@@ -118,12 +147,10 @@ files:
|
|
118
147
|
- spec/models/role_spec.rb
|
119
148
|
- spec/routing/role_management_routes_spec.rb
|
120
149
|
- spec/spec_helper.rb
|
121
|
-
- spec/
|
122
|
-
- spec/
|
123
|
-
- spec/
|
124
|
-
- spec/
|
125
|
-
- spec/support/lib/generators/test_app_generator.rb
|
126
|
-
- spec/support/lib/tasks/rspec.rake
|
150
|
+
- spec/test_app_templates/app/models/sample.rb
|
151
|
+
- spec/test_app_templates/app/models/solr_document.rb
|
152
|
+
- spec/test_app_templates/config/initializers/hydra_config.rb
|
153
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
127
154
|
homepage: https://github.com/projecthydra/hydra-role-management
|
128
155
|
licenses: []
|
129
156
|
metadata: {}
|
@@ -133,17 +160,17 @@ require_paths:
|
|
133
160
|
- lib
|
134
161
|
required_ruby_version: !ruby/object:Gem::Requirement
|
135
162
|
requirements:
|
136
|
-
- -
|
163
|
+
- - ">="
|
137
164
|
- !ruby/object:Gem::Version
|
138
165
|
version: '0'
|
139
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
167
|
requirements:
|
141
|
-
- -
|
168
|
+
- - ">="
|
142
169
|
- !ruby/object:Gem::Version
|
143
170
|
version: '0'
|
144
171
|
requirements: []
|
145
172
|
rubyforge_project:
|
146
|
-
rubygems_version: 2.
|
173
|
+
rubygems_version: 2.2.2
|
147
174
|
signing_key:
|
148
175
|
specification_version: 4
|
149
176
|
summary: Rails engine to do user roles in an RDBMS for hydra-head
|
@@ -155,9 +182,7 @@ test_files:
|
|
155
182
|
- spec/models/role_spec.rb
|
156
183
|
- spec/routing/role_management_routes_spec.rb
|
157
184
|
- spec/spec_helper.rb
|
158
|
-
- spec/
|
159
|
-
- spec/
|
160
|
-
- spec/
|
161
|
-
- spec/
|
162
|
-
- spec/support/lib/generators/test_app_generator.rb
|
163
|
-
- spec/support/lib/tasks/rspec.rake
|
185
|
+
- spec/test_app_templates/app/models/sample.rb
|
186
|
+
- spec/test_app_templates/app/models/solr_document.rb
|
187
|
+
- spec/test_app_templates/config/initializers/hydra_config.rb
|
188
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
data/spec/support/gemfile_stub
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
class TestAppGenerator < Rails::Generators::Base
|
4
|
-
source_root File.expand_path("../../../../support", __FILE__)
|
5
|
-
|
6
|
-
# # Inject call to Hydra::BatchEdit.add_routes in config/routes.rb
|
7
|
-
# def inject_routes
|
8
|
-
# insert_into_file "config/routes.rb", :after => '.draw do' do
|
9
|
-
# "\n # Add BatchEdit routes."
|
10
|
-
# "\n Hydra::BatchEdit.add_routes(self)"
|
11
|
-
# end
|
12
|
-
# end
|
13
|
-
|
14
|
-
|
15
|
-
def run_blacklight_generator
|
16
|
-
say_status("warning", "GENERATING BL", :yellow)
|
17
|
-
|
18
|
-
generate 'blacklight', '--devise'
|
19
|
-
end
|
20
|
-
|
21
|
-
def run_hydra_head_generator
|
22
|
-
say_status("warning", "GENERATING HH", :yellow)
|
23
|
-
|
24
|
-
generate 'hydra:head', '-f'
|
25
|
-
end
|
26
|
-
|
27
|
-
def run_roles_generator
|
28
|
-
say_status("warning", "GENERATING ROLES", :yellow)
|
29
|
-
|
30
|
-
generate 'roles', '-f'
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
# def copy_test_models
|
35
|
-
# copy_file "app/models/sample.rb"
|
36
|
-
# copy_file "app/models/solr_document.rb"
|
37
|
-
# copy_file "db/migrate/20111101221803_create_searches.rb"
|
38
|
-
# end
|
39
|
-
|
40
|
-
def copy_rspec_rake_task
|
41
|
-
copy_file "lib/tasks/rspec.rake"
|
42
|
-
end
|
43
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
require 'rspec/core/rake_task'
|
2
|
-
desc "run the hydra-batch-edit gem spec"
|
3
|
-
gem_home = File.expand_path('../../../../..', __FILE__)
|
4
|
-
RSpec::Core::RakeTask.new(:myspec) do |t|
|
5
|
-
t.pattern = gem_home + '/spec/**/*_spec.rb'
|
6
|
-
t.rspec_opts = "--colour"
|
7
|
-
t.ruby_opts = "-I#{gem_home}/spec"
|
8
|
-
end
|
9
|
-
|