hyrax 2.1.0.rc2 → 2.1.0.rc3
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/README.md +2 -2
- data/app/assets/stylesheets/hyrax/_work-show.scss +11 -2
- data/app/controllers/hyrax/admin/admin_sets_controller.rb +22 -1
- data/app/jobs/import_url_job.rb +50 -18
- data/app/models/concerns/hyrax/ability/admin_set_ability.rb +1 -1
- data/app/presenters/hyrax/file_set_presenter.rb +4 -0
- data/app/presenters/hyrax/work_show_presenter.rb +2 -2
- data/app/services/hyrax/collections/permissions_create_service.rb +23 -0
- data/app/services/hyrax/collections/permissions_service.rb +17 -11
- data/app/views/hyrax/base/_items.html.erb +3 -1
- data/app/views/hyrax/collections/_show_document_list_row.html.erb +0 -19
- data/app/views/hyrax/file_sets/_actions.html.erb +38 -36
- data/app/views/hyrax/file_sets/media_display/_image.html.erb +1 -1
- data/config/features.rb +2 -2
- data/config/locales/hyrax.de.yml +13 -1
- data/config/locales/hyrax.en.yml +12 -0
- data/config/locales/hyrax.es.yml +12 -0
- data/config/locales/hyrax.fr.yml +12 -0
- data/config/locales/hyrax.it.yml +12 -0
- data/config/locales/hyrax.pt-BR.yml +12 -0
- data/config/locales/hyrax.zh.yml +12 -0
- data/lib/hyrax/version.rb +1 -1
- data/spec/abilities/admin_set_ability_spec.rb +5 -0
- data/spec/controllers/hyrax/admin/admin_sets_controller_spec.rb +71 -2
- data/spec/jobs/import_url_job_spec.rb +53 -0
- data/spec/models/flipflop_spec.rb +2 -2
- data/spec/presenters/hyrax/file_set_presenter_spec.rb +24 -0
- data/spec/presenters/hyrax/work_show_presenter_spec.rb +10 -0
- data/spec/services/hyrax/collections/permissions_create_service_spec.rb +23 -0
- data/spec/services/hyrax/collections/permissions_service_spec.rb +92 -8
- data/spec/views/hyrax/base/_items.html.erb_spec.rb +23 -45
- data/spec/views/hyrax/base/_member.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +1 -0
- data/spec/views/hyrax/dashboard/collections/_show_document_list_row.html.erb_spec.rb +1 -0
- data/spec/views/hyrax/file_sets/_actions.html.erb_spec.rb +30 -9
- data/template.rb +1 -1
- metadata +2 -2
|
@@ -224,6 +224,16 @@ RSpec.describe Hyrax::WorkShowPresenter do
|
|
|
224
224
|
end
|
|
225
225
|
end
|
|
226
226
|
|
|
227
|
+
describe "exclude_unauthorized_members" do
|
|
228
|
+
let(:obj) { create(:work_with_file_and_work) }
|
|
229
|
+
let(:attributes) { obj.to_solr }
|
|
230
|
+
let(:ability) { double Ability, can?: false }
|
|
231
|
+
|
|
232
|
+
it 'filters out unauthorized members' do
|
|
233
|
+
expect(presenter.exclude_unauthorized_members.count).to eq 0
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
|
|
227
237
|
describe "#file_set_presenters" do
|
|
228
238
|
let(:obj) { create(:work_with_ordered_files) }
|
|
229
239
|
let(:attributes) { obj.to_solr }
|
|
@@ -38,4 +38,27 @@ RSpec.describe Hyrax::Collections::PermissionsCreateService do
|
|
|
38
38
|
expect(Hyrax::PermissionTemplate.find_by_source_id(collection.id).access_grants.count).to eq 4
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
|
+
|
|
42
|
+
describe ".add_access" do
|
|
43
|
+
subject { described_class.add_access(collection_id: collection.id, grants: grants) }
|
|
44
|
+
let(:collection) { build(:collection_lw, id: 'test_collection', with_permission_template: true) }
|
|
45
|
+
let(:grants) do
|
|
46
|
+
[{ agent_type: Hyrax::PermissionTemplateAccess::GROUP,
|
|
47
|
+
agent_id: 'archivist',
|
|
48
|
+
access: Hyrax::PermissionTemplateAccess::DEPOSIT }]
|
|
49
|
+
end
|
|
50
|
+
let(:depositor_grants) { collection.permission_template.access_grants.deposit }
|
|
51
|
+
let(:array) { [] }
|
|
52
|
+
|
|
53
|
+
before do
|
|
54
|
+
allow(ActiveFedora::Base).to receive(:find).with(collection.id).and_return(collection)
|
|
55
|
+
allow(collection).to receive(:reset_access_controls!).and_return true
|
|
56
|
+
subject
|
|
57
|
+
depositor_grants.each { |agent| array << agent.agent_id }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'gives deposit access to archivist group' do
|
|
61
|
+
expect(array.include?("archivist")).to eq true
|
|
62
|
+
end
|
|
63
|
+
end
|
|
41
64
|
end
|
|
@@ -26,10 +26,10 @@ RSpec.describe Hyrax::Collections::PermissionsService do
|
|
|
26
26
|
|
|
27
27
|
subject { described_class }
|
|
28
28
|
|
|
29
|
-
it
|
|
29
|
+
it '.can_deposit_in_collection? returns true' do
|
|
30
30
|
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
31
31
|
end
|
|
32
|
-
it
|
|
32
|
+
it '.can_view_admin_show_for_collection? returns true' do
|
|
33
33
|
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
34
34
|
end
|
|
35
35
|
end
|
|
@@ -46,10 +46,10 @@ RSpec.describe Hyrax::Collections::PermissionsService do
|
|
|
46
46
|
|
|
47
47
|
subject { described_class }
|
|
48
48
|
|
|
49
|
-
it
|
|
49
|
+
it '.can_deposit_in_collection? returns true' do
|
|
50
50
|
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
51
51
|
end
|
|
52
|
-
it
|
|
52
|
+
it '.can_view_admin_show_for_collection? returns true' do
|
|
53
53
|
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
54
54
|
end
|
|
55
55
|
end
|
|
@@ -66,21 +66,105 @@ RSpec.describe Hyrax::Collections::PermissionsService do
|
|
|
66
66
|
|
|
67
67
|
subject { described_class }
|
|
68
68
|
|
|
69
|
-
it
|
|
69
|
+
it '.can_deposit_in_collection? returns false' do
|
|
70
70
|
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
71
71
|
end
|
|
72
|
-
it
|
|
72
|
+
it '.can_view_admin_show_for_collection? returns true' do
|
|
73
73
|
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
+
context 'when deposit user' do
|
|
78
|
+
context 'thru membership in public group' do
|
|
79
|
+
before do
|
|
80
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'manage').and_return([])
|
|
81
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'deposit').and_return([])
|
|
82
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'view').and_return([])
|
|
83
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'manage').and_return([])
|
|
84
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'deposit').and_return(['public'])
|
|
85
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'view').and_return([])
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
subject { described_class }
|
|
89
|
+
|
|
90
|
+
it '.can_deposit_in_collection? returns true' do
|
|
91
|
+
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
92
|
+
end
|
|
93
|
+
it '.can_view_admin_show_for_collection? returns false' do
|
|
94
|
+
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
context 'thru membership in registered group' do
|
|
99
|
+
before do
|
|
100
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'manage').and_return([])
|
|
101
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'deposit').and_return([])
|
|
102
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'view').and_return([])
|
|
103
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'manage').and_return([])
|
|
104
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'deposit').and_return(['registered'])
|
|
105
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'view').and_return([])
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
subject { described_class }
|
|
109
|
+
|
|
110
|
+
it '.can_deposit_in_collection? returns true' do
|
|
111
|
+
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be true
|
|
112
|
+
end
|
|
113
|
+
it '.can_view_admin_show_for_collection? returns false' do
|
|
114
|
+
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
context 'when view user' do
|
|
120
|
+
context 'thru membership in public group' do
|
|
121
|
+
before do
|
|
122
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'manage').and_return([])
|
|
123
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'deposit').and_return([])
|
|
124
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'view').and_return([])
|
|
125
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'manage').and_return([])
|
|
126
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'deposit').and_return([])
|
|
127
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'view').and_return(['public'])
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
subject { described_class }
|
|
131
|
+
|
|
132
|
+
it '.can_deposit_in_collection? returns false' do
|
|
133
|
+
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
134
|
+
end
|
|
135
|
+
it '.can_view_admin_show_for_collection? returns false' do
|
|
136
|
+
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
context 'thru membership in registered group' do
|
|
141
|
+
before do
|
|
142
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'manage').and_return([])
|
|
143
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'deposit').and_return([])
|
|
144
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'user', access: 'view').and_return([])
|
|
145
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'manage').and_return([])
|
|
146
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'deposit').and_return([])
|
|
147
|
+
allow(col_permission_template).to receive(:agent_ids_for).with(agent_type: 'group', access: 'view').and_return(['registered'])
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
subject { described_class }
|
|
151
|
+
|
|
152
|
+
it '.can_deposit_in_collection? returns false' do
|
|
153
|
+
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
154
|
+
end
|
|
155
|
+
it '.can_view_admin_show_for_collection? returns false' do
|
|
156
|
+
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
|
|
77
161
|
context 'when user without access' do
|
|
78
162
|
subject { described_class }
|
|
79
163
|
|
|
80
|
-
it
|
|
164
|
+
it '.can_deposit_in_collection? returns false' do
|
|
81
165
|
expect(subject.can_deposit_in_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
82
166
|
end
|
|
83
|
-
it
|
|
167
|
+
it '.can_view_admin_show_for_collection? returns false' do
|
|
84
168
|
expect(subject.can_view_admin_show_for_collection?(collection_id: collection.id, ability: ability)).to be false
|
|
85
169
|
end
|
|
86
170
|
end
|
|
@@ -9,72 +9,50 @@ RSpec.describe 'hyrax/base/_items.html.erb', type: :view do
|
|
|
9
9
|
it 'renders an alert' do
|
|
10
10
|
expect(view).to receive(:can?).with(:edit, presenter.id).and_return(true)
|
|
11
11
|
render 'hyrax/base/items', presenter: presenter
|
|
12
|
-
expect(rendered).to have_css('.alert-warning[role=alert]')
|
|
12
|
+
expect(rendered).to have_css('.alert-warning[role=alert]', text: 'This Thing has no files associated with it. Click "edit" to add more files.')
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
context 'and the current user cannot edit the presenter' do
|
|
16
|
-
it '
|
|
16
|
+
it 'renders an alert' do
|
|
17
17
|
expect(view).to receive(:can?).with(:edit, presenter.id).and_return(false)
|
|
18
18
|
render 'hyrax/base/items', presenter: presenter
|
|
19
|
-
expect(rendered).
|
|
19
|
+
expect(rendered).to have_css('.alert-warning[role=alert]', text: "There are no publicly available items in this Thing.")
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
context
|
|
25
|
-
let(:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
render 'hyrax/base/items', presenter: presenter
|
|
32
|
-
expect(rendered).to have_css('tbody', text: member_presenters.join)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
context "when file set members are present" do
|
|
37
|
-
let(:user) { create(:user) }
|
|
38
|
-
let(:ability) { Ability.new(user) }
|
|
39
|
-
let(:file1) { create(:file_set, :public) }
|
|
40
|
-
let(:file2) { create(:file_set) }
|
|
41
|
-
|
|
42
|
-
let(:solr_document) { SolrDocument.new(attributes) }
|
|
24
|
+
context 'when children are present' do
|
|
25
|
+
let(:child1) { double('Thing1', id: 'Thing 1', title: 'Title 1') }
|
|
26
|
+
let(:child2) { double('Thing2', id: 'Thing 2', title: 'Title 2') }
|
|
27
|
+
let(:child3) { double('Thing3', id: 'Thing 3', title: 'Title 3') }
|
|
28
|
+
let(:member_presenters) { [child1, child2, child3] }
|
|
29
|
+
let(:authorized_presenters) { [child1, child3] }
|
|
30
|
+
let(:solr_document) { double('Solr Doc', id: 'the-id') }
|
|
43
31
|
let(:presenter) { Hyrax::WorkShowPresenter.new(solr_document, ability, request) }
|
|
44
32
|
|
|
45
33
|
before do
|
|
46
34
|
stub_template 'hyrax/base/_member.html.erb' => '<%= member %>'
|
|
35
|
+
expect(Flipflop).to receive(:hide_private_items?).and_return(:flipflop)
|
|
36
|
+
expect(presenter).to receive(:member_presenters).and_return(member_presenters)
|
|
37
|
+
expect(ability).to receive(:can?).with(:read, child1.id).and_return true
|
|
38
|
+
expect(ability).to receive(:can?).with(:read, child2.id).and_return false
|
|
39
|
+
expect(ability).to receive(:can?).with(:read, child3.id).and_return true
|
|
47
40
|
end
|
|
48
41
|
|
|
49
|
-
context
|
|
50
|
-
let(:
|
|
51
|
-
|
|
52
|
-
it "show the link for the file set" do
|
|
53
|
-
expect(Flipflop).to receive(:hide_private_files?).and_return(true)
|
|
54
|
-
render 'hyrax/base/items', presenter: presenter
|
|
55
|
-
expect(rendered).to have_content presenter.member_presenters.first.link_name
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
context "and a private file set" do
|
|
60
|
-
let(:attributes) { create(:public_work, ordered_members: [file2]).to_solr }
|
|
42
|
+
context 'and hide_private_items is on' do
|
|
43
|
+
let(:flip_flop) { true }
|
|
61
44
|
|
|
62
|
-
it "
|
|
63
|
-
expect(Flipflop).to receive(:hide_private_files?).and_return(true)
|
|
64
|
-
expect(view).to receive(:can?).with(:edit, presenter.id).and_return(false)
|
|
45
|
+
it "displays only authorized children" do
|
|
65
46
|
render 'hyrax/base/items', presenter: presenter
|
|
66
|
-
expect(rendered).
|
|
47
|
+
expect(rendered).to have_css('tbody', text: authorized_presenters.join)
|
|
67
48
|
end
|
|
68
49
|
end
|
|
50
|
+
context 'and hide_private_items is off' do
|
|
51
|
+
let(:flip_flop) { false }
|
|
69
52
|
|
|
70
|
-
|
|
71
|
-
let(:attributes) { create(:public_work, ordered_members: [file1, file2]).to_solr }
|
|
72
|
-
|
|
73
|
-
it "only show the link to the file set that users have permission to see" do
|
|
74
|
-
expect(Flipflop).to receive(:hide_private_files?).and_return(true)
|
|
53
|
+
it "displays all children" do
|
|
75
54
|
render 'hyrax/base/items', presenter: presenter
|
|
76
|
-
expect(rendered).to
|
|
77
|
-
expect(rendered).not_to have_content presenter.member_presenters[1].link_name
|
|
55
|
+
expect(rendered).to have_css('tbody', text: member_presenters.join)
|
|
78
56
|
end
|
|
79
57
|
end
|
|
80
58
|
end
|
|
@@ -38,6 +38,6 @@ RSpec.describe 'hyrax/base/_member.html.erb' do
|
|
|
38
38
|
expect(rendered).to have_selector "a[title=\"Edit My File\"][href='#{edit_polymorphic_path(presenter)}']", text: 'Edit'
|
|
39
39
|
expect(rendered).to have_selector "a[title=\"Delete My File\"][data-method='delete'][href='#{polymorphic_path(presenter)}']", text: 'Delete'
|
|
40
40
|
expect(rendered).to have_link('Download')
|
|
41
|
-
expect(rendered).to have_selector "a[title='Download
|
|
41
|
+
expect(rendered).to have_selector "a[title='Download My File'][href='#{hyrax.download_path(presenter)}']", text: 'Download'
|
|
42
42
|
end
|
|
43
43
|
end
|
|
@@ -24,6 +24,7 @@ RSpec.describe 'hyrax/collections/_show_document_list_row.html.erb', type: :view
|
|
|
24
24
|
it "renders works" do
|
|
25
25
|
render('hyrax/collections/show_document_list_row.html.erb', document: work)
|
|
26
26
|
expect(rendered).to have_content 'One Hundred Years of Solitude'
|
|
27
|
+
expect(rendered).not_to have_content('Edit Access:')
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
end
|
|
@@ -24,6 +24,7 @@ RSpec.describe 'hyrax/dashboard/collections/_show_document_list_row.html.erb', t
|
|
|
24
24
|
it "renders works" do
|
|
25
25
|
render('show_document_list_row', document: work)
|
|
26
26
|
expect(rendered).to have_content 'One Hundred Years of Solitude'
|
|
27
|
+
expect(rendered).to have_content('Edit Access:')
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
end
|
|
@@ -1,15 +1,36 @@
|
|
|
1
1
|
RSpec.describe 'hyrax/file_sets/_actions.html.erb', type: :view do
|
|
2
|
-
let(:
|
|
2
|
+
let(:solr_document) { double("Solr Doc", id: 'file_set_id') }
|
|
3
|
+
let(:user) { build(:user) }
|
|
4
|
+
let(:ability) { Ability.new(user) }
|
|
5
|
+
let(:file_set) { Hyrax::FileSetPresenter.new(solr_document, ability) }
|
|
3
6
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
context 'with download permission' do
|
|
8
|
+
before do
|
|
9
|
+
allow(file_set).to receive(:user_can_perform_any_action?).and_return(true)
|
|
10
|
+
allow(view).to receive(:can?).with(:edit, file_set.id).and_return(false)
|
|
11
|
+
allow(view).to receive(:can?).with(:destroy, file_set.id).and_return(false)
|
|
12
|
+
allow(view).to receive(:can?).with(:download, file_set.id).and_return(true)
|
|
13
|
+
render 'hyrax/file_sets/actions', file_set: file_set
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "includes google analytics data in the download link" do
|
|
17
|
+
expect(rendered).to have_css('a#file_download')
|
|
18
|
+
expect(rendered).to have_selector("a[data-label=\"#{file_set.id}\"]")
|
|
19
|
+
end
|
|
9
20
|
end
|
|
10
21
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
22
|
+
context 'with no permission' do
|
|
23
|
+
let(:current_ability) { ability }
|
|
24
|
+
|
|
25
|
+
before do
|
|
26
|
+
allow(current_ability).to receive(:can?).with(:edit, file_set.id).and_return(false)
|
|
27
|
+
allow(current_ability).to receive(:can?).with(:destroy, file_set.id).and_return(false)
|
|
28
|
+
allow(current_ability).to receive(:can?).with(:download, file_set.id).and_return(false)
|
|
29
|
+
render 'hyrax/file_sets/actions', file_set: file_set
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it "renders nothing" do
|
|
33
|
+
expect(rendered).to eq('')
|
|
34
|
+
end
|
|
14
35
|
end
|
|
15
36
|
end
|
data/template.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hyrax
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.0.
|
|
4
|
+
version: 2.1.0.rc3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Coyne
|
|
@@ -14,7 +14,7 @@ authors:
|
|
|
14
14
|
autorequire:
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
|
-
date: 2018-05-
|
|
17
|
+
date: 2018-05-15 00:00:00.000000000 Z
|
|
18
18
|
dependencies:
|
|
19
19
|
- !ruby/object:Gem::Dependency
|
|
20
20
|
name: rails
|