ddr-models 2.3.2 → 2.4.0.rc1
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/.travis.yml +2 -3
- data/ddr-models.gemspec +1 -1
- data/lib/ddr/auth.rb +10 -6
- data/lib/ddr/auth/group.rb +2 -1
- data/lib/ddr/auth/grouper_gateway.rb +7 -6
- data/lib/ddr/auth/permissions.rb +2 -1
- data/lib/ddr/auth/roles.rb +3 -2
- data/lib/ddr/auth/roles/role_set.rb +3 -2
- data/lib/ddr/datastreams/administrative_metadata_datastream.rb +3 -0
- data/lib/ddr/derivatives/png_generator.rb +1 -1
- data/lib/ddr/index/fields.rb +11 -1
- data/lib/ddr/index/filter.rb +4 -3
- data/lib/ddr/index/legacy_license_fields.rb +0 -2
- data/lib/ddr/index/query_clause.rb +2 -2
- data/lib/ddr/index/query_value.rb +6 -3
- data/lib/ddr/jobs.rb +5 -1
- data/lib/ddr/jobs/fits_file_characterization.rb +2 -40
- data/lib/ddr/jobs/fixity_check.rb +13 -0
- data/lib/ddr/jobs/job.rb +36 -0
- data/lib/ddr/jobs/queue.rb +27 -0
- data/lib/ddr/jobs/update_index.rb +13 -0
- data/lib/ddr/managers/derivatives_manager.rb +21 -17
- data/lib/ddr/models.rb +14 -2
- data/lib/ddr/models/access_controllable.rb +3 -6
- data/lib/ddr/models/admin_set.rb +5 -3
- data/lib/ddr/models/base.rb +2 -3
- data/lib/ddr/models/contact.rb +17 -0
- data/lib/ddr/models/file_characterization.rb +37 -0
- data/lib/ddr/models/has_admin_metadata.rb +2 -1
- data/lib/ddr/models/has_content.rb +4 -2
- data/lib/ddr/models/indexing.rb +5 -0
- data/lib/ddr/models/licenses/license.rb +5 -3
- data/lib/ddr/models/solr_document.rb +1 -1
- data/lib/ddr/models/version.rb +1 -1
- data/lib/ddr/models/with_content_file.rb +37 -0
- data/lib/ddr/vocab/asset.rb +3 -0
- data/spec/derivatives/png_generator_spec.rb +7 -0
- data/spec/factories/test_model_factories.rb +1 -1
- data/spec/fixtures/arrow1rightred_e0.gif +0 -0
- data/spec/fixtures/bird.jpg +0 -0
- data/spec/index/query_value_spec.rb +33 -0
- data/spec/jobs/fits_file_characterization_spec.rb +8 -44
- data/spec/jobs/fixity_check_spec.rb +22 -0
- data/spec/jobs/job_spec.rb +40 -0
- data/spec/jobs/update_index_spec.rb +22 -0
- data/spec/managers/derivatives_manager_spec.rb +16 -12
- data/spec/models/admin_set_spec.rb +3 -3
- data/spec/models/contact_spec.rb +22 -0
- data/spec/models/effective_license_spec.rb +17 -7
- data/spec/models/file_characterization_spec.rb +39 -0
- data/spec/models/has_admin_metadata_spec.rb +8 -5
- data/spec/models/indexing_spec.rb +2 -0
- data/spec/models/license_spec.rb +3 -1
- data/spec/models/solr_document_spec.rb +6 -3
- data/spec/models/with_content_file_spec.rb +37 -0
- data/spec/spec_helper.rb +2 -0
- metadata +43 -30
- data/lib/ddr/contacts.rb +0 -25
- data/lib/ddr/index_fields.rb +0 -14
- data/spec/auth/ldap_gateway_spec.rb +0 -9
- data/spec/contacts/contacts_spec.rb +0 -26
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Ddr::Jobs
|
4
|
+
RSpec.describe FixityCheck do
|
5
|
+
|
6
|
+
it "should use the :fixity queue" do
|
7
|
+
expect(described_class.queue).to eq(:fixity)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe ".perform" do
|
11
|
+
let!(:obj) { double(fixity_check: nil) }
|
12
|
+
before do
|
13
|
+
allow(ActiveFedora::Base).to receive(:find).with("test:1") { obj }
|
14
|
+
end
|
15
|
+
it "should call `fixity_check` on the object" do
|
16
|
+
expect(obj).to receive(:fixity_check)
|
17
|
+
described_class.perform("test:1")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Ddr::Jobs
|
2
|
+
RSpec.describe Job do
|
3
|
+
|
4
|
+
before(:all) do
|
5
|
+
class TestJob
|
6
|
+
extend Job
|
7
|
+
|
8
|
+
@queue = :test
|
9
|
+
|
10
|
+
def perform(object_id)
|
11
|
+
puts object_id
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
after(:all) do
|
17
|
+
Ddr::Jobs.send(:remove_const, :TestJob)
|
18
|
+
end
|
19
|
+
|
20
|
+
let(:queued) do
|
21
|
+
[{"class"=>"Ddr::Jobs::TestJob", "args"=>["test-1"]},
|
22
|
+
{"class"=>"Ddr::Jobs::OtherJob", "args"=>["test-2"]},
|
23
|
+
{"class"=>"Ddr::Jobs::TestJob", "args"=>["test-3"]},
|
24
|
+
]
|
25
|
+
end
|
26
|
+
|
27
|
+
before(:each) do
|
28
|
+
allow(Resque).to receive(:size).with(:test) { 3 }
|
29
|
+
allow(Resque).to receive(:peek).with(:test, 0, 3) { queued }
|
30
|
+
end
|
31
|
+
|
32
|
+
describe ".queued_object_ids" do
|
33
|
+
it "returns the list of object_ids for queued jobs of this type" do
|
34
|
+
expect(TestJob.queued_object_ids)
|
35
|
+
.to contain_exactly("test-1", "test-3")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Ddr::Jobs
|
4
|
+
RSpec.describe UpdateIndex do
|
5
|
+
|
6
|
+
it "should use the :index queue" do
|
7
|
+
expect(described_class.queue).to eq(:index)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe ".perform" do
|
11
|
+
let!(:obj) { double(update_index: nil) }
|
12
|
+
before do
|
13
|
+
allow(ActiveFedora::Base).to receive(:find).with("test:1") { obj }
|
14
|
+
end
|
15
|
+
it "should call `update_index` on the object" do
|
16
|
+
expect(obj).to receive(:update_index)
|
17
|
+
described_class.perform("test:1")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -28,7 +28,7 @@ module Ddr
|
|
28
28
|
context "all derivatives" do
|
29
29
|
context "not multires_image_able" do
|
30
30
|
let(:object) { ContentBearing.new }
|
31
|
-
context "content is image" do
|
31
|
+
context "content is an image" do
|
32
32
|
let(:file) { fixture_file_upload("imageA.tif", "image/tiff") }
|
33
33
|
it "should generate a thumbnail and not a ptif" do
|
34
34
|
expect(object.derivatives).to receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:thumbnail])
|
@@ -36,15 +36,7 @@ module Ddr
|
|
36
36
|
object.derivatives.update_derivatives(:now)
|
37
37
|
end
|
38
38
|
end
|
39
|
-
context "content is
|
40
|
-
let(:file) { fixture_file_upload("sample.pdf", "application/pdf") }
|
41
|
-
it "should generate a thumbnail and not a ptif" do
|
42
|
-
expect(object.derivatives).to receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:thumbnail])
|
43
|
-
expect(object.derivatives).to_not receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:multires_image])
|
44
|
-
object.derivatives.update_derivatives(:now)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
context "content is neither an image nor a PDF" do
|
39
|
+
context "content is not an image" do
|
48
40
|
let(:file) { fixture_file_upload("sample.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document") }
|
49
41
|
it "should generate neither a thumbnail nor a ptif" do
|
50
42
|
expect(object.derivatives).to_not receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:thumbnail])
|
@@ -64,7 +56,7 @@ module Ddr
|
|
64
56
|
end
|
65
57
|
end
|
66
58
|
context "content is not tiff image" do
|
67
|
-
let(:file) { fixture_file_upload("
|
59
|
+
let(:file) { fixture_file_upload("bird.jpg", "image/jpeg") }
|
68
60
|
it "should generate a thumbnail but not a ptif" do
|
69
61
|
expect(object.derivatives).to receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:thumbnail])
|
70
62
|
expect(object.derivatives).to_not receive(:generate_derivative!).with(Ddr::Derivatives::DERIVATIVES[:multires_image])
|
@@ -85,7 +77,7 @@ module Ddr
|
|
85
77
|
object.derivatives.update_derivatives(:now)
|
86
78
|
end
|
87
79
|
end
|
88
|
-
end
|
80
|
+
end
|
89
81
|
|
90
82
|
describe "derivative generation" do
|
91
83
|
let(:file) { fixture_file_upload("imageA.tif", "image/tiff") }
|
@@ -120,6 +112,18 @@ end
|
|
120
112
|
end
|
121
113
|
end
|
122
114
|
|
115
|
+
describe "exception during derivative generation" do
|
116
|
+
let(:object) { ContentBearing.create }
|
117
|
+
before do
|
118
|
+
allow(Dir::Tmpname).to receive(:make_tmpname).with('', nil) { 'test-temp-dir' }
|
119
|
+
# simulate raising of exception during derivative generation
|
120
|
+
allow_any_instance_of(Ddr::Managers::DerivativesManager).to receive(:generate_derivative!).and_raise(StandardError)
|
121
|
+
end
|
122
|
+
it "should delete the temporary work directory" do
|
123
|
+
expect(File.exist?(File.join(Dir.tmpdir, 'test-temp-dir'))).to be false
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
123
127
|
end
|
124
128
|
end
|
125
129
|
end
|
@@ -3,11 +3,12 @@ module Ddr::Models
|
|
3
3
|
|
4
4
|
describe ".call" do
|
5
5
|
subject { described_class.call(obj) }
|
6
|
+
let(:obj) { Item.new }
|
6
7
|
|
7
8
|
describe "when the object has an admin set" do
|
8
|
-
let(:obj) { double(admin_set: "dvs") }
|
9
9
|
before do
|
10
|
-
|
10
|
+
obj.admin_set = "dvs"
|
11
|
+
allow(described_class).to receive(:get).with(:find, code: "dvs") do
|
11
12
|
described_class.new("id"=>1, "code"=>"dvs", "title"=>"Data and Visualization Services", "created_at"=>"2015-09-15T16:15:58.514Z", "updated_at"=>"2015-09-15T16:15:58.514Z")
|
12
13
|
end
|
13
14
|
end
|
@@ -16,7 +17,6 @@ module Ddr::Models
|
|
16
17
|
end
|
17
18
|
|
18
19
|
describe "when the object does not have an admin set" do
|
19
|
-
let(:obj) { double(admin_set: nil) }
|
20
20
|
it { is_expected.to be_nil }
|
21
21
|
end
|
22
22
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Ddr::Models
|
2
|
+
RSpec.describe Contact do
|
3
|
+
|
4
|
+
describe ".call" do
|
5
|
+
subject { described_class.call(slug) }
|
6
|
+
let(:slug) { 'abc' }
|
7
|
+
|
8
|
+
before do
|
9
|
+
allow(described_class).to receive(:get).with(:find, slug: slug) do
|
10
|
+
described_class.new(
|
11
|
+
"id"=>1, "slug"=>"abc", "name"=>"A, B, and C Services", "short_name"=>"ABCS",
|
12
|
+
"url"=>"http://library.inst.edu/abc", "phone"=>"555-1234", "email"=>"abc@library.inst.edu",
|
13
|
+
"ask"=>"http://library.inst.edu/abc-ask", "created_at"=>"2015-09-15T16:15:58.514Z",
|
14
|
+
"updated_at"=>"2015-09-15T16:15:58.514Z")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
its(:to_s) { is_expected.to eq("A, B, and C Services") }
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -6,34 +6,41 @@ module Ddr::Models
|
|
6
6
|
let(:url) { "https://creativecommons.org/licenses/by-nc-nd/4.0/" }
|
7
7
|
|
8
8
|
let(:license) { License.new(url: url) }
|
9
|
-
before { allow(License).to receive(:find).with(url: url) { license } }
|
10
9
|
|
11
|
-
let(:obj) {
|
10
|
+
let(:obj) { Component.new(pid: "test:1") }
|
11
|
+
let(:parent) { Item.new(pid: "test:2") }
|
12
|
+
let(:admin_policy) { Collection.new(pid: "test:3") }
|
12
13
|
|
13
14
|
describe "when the object has a license" do
|
14
|
-
before
|
15
|
+
before do
|
16
|
+
allow(License).to receive(:call).with(obj) { license }
|
17
|
+
end
|
15
18
|
it { is_expected.to eq(license) }
|
16
19
|
end
|
17
20
|
|
18
21
|
describe "when the object does not have a license" do
|
22
|
+
before do
|
23
|
+
allow(License).to receive(:call).with(obj) { nil }
|
24
|
+
end
|
19
25
|
describe "and the object has a parent" do
|
20
|
-
let(:parent) { double(pid: "test:2", license: nil) }
|
21
26
|
before do
|
22
27
|
allow(obj).to receive(:parent) { parent }
|
23
28
|
end
|
24
29
|
describe "and the parent has a license" do
|
25
30
|
before do
|
26
|
-
allow(
|
31
|
+
allow(License).to receive(:call).with(parent) { license }
|
27
32
|
end
|
28
33
|
it { is_expected.to eq(license) }
|
29
34
|
end
|
30
35
|
describe "and the parent does not have a license" do
|
36
|
+
before do
|
37
|
+
allow(License).to receive(:call).with(parent) { nil }
|
38
|
+
end
|
31
39
|
it { is_expected.to be_nil }
|
32
40
|
end
|
33
41
|
end
|
34
42
|
describe "and the object does not have a parent" do
|
35
43
|
describe "and the object has an admin policy" do
|
36
|
-
let(:admin_policy) { double(pid: "test:3", id: "test:3", license: nil) }
|
37
44
|
before { allow(obj).to receive(:admin_policy) { admin_policy } }
|
38
45
|
describe "and the admin policy has a different id from the object" do
|
39
46
|
before do
|
@@ -41,11 +48,14 @@ module Ddr::Models
|
|
41
48
|
end
|
42
49
|
describe "and the admin policy has a license" do
|
43
50
|
before do
|
44
|
-
allow(
|
51
|
+
allow(License).to receive(:call).with(admin_policy) { license }
|
45
52
|
end
|
46
53
|
it { is_expected.to eq(license) }
|
47
54
|
end
|
48
55
|
describe "and the admin policy does not have a license" do
|
56
|
+
before do
|
57
|
+
allow(License).to receive(:call).with(admin_policy) { nil }
|
58
|
+
end
|
49
59
|
it { is_expected.to be_nil }
|
50
60
|
end
|
51
61
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Ddr::Models
|
2
|
+
RSpec.describe FileCharacterization do
|
3
|
+
|
4
|
+
subject { described_class.new(obj) }
|
5
|
+
|
6
|
+
before {
|
7
|
+
obj.content.checksumType = "SHA-1"
|
8
|
+
obj.save!
|
9
|
+
}
|
10
|
+
|
11
|
+
let(:obj) { FactoryGirl.create(:component) }
|
12
|
+
let(:fits_output) { "<fits/>" }
|
13
|
+
|
14
|
+
describe "when there is an error running FITS" do
|
15
|
+
before {
|
16
|
+
allow(subject).to receive(:run_fits).and_raise(FileCharacterization::FITSError)
|
17
|
+
}
|
18
|
+
specify {
|
19
|
+
begin
|
20
|
+
subject.call
|
21
|
+
rescue FileCharacterization::FITSError
|
22
|
+
ensure
|
23
|
+
expect(subject.fits).not_to have_content
|
24
|
+
end
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "when FITS runs successfully" do
|
29
|
+
before {
|
30
|
+
allow(subject).to receive(:run_fits) { fits_output }
|
31
|
+
}
|
32
|
+
specify {
|
33
|
+
subject.call
|
34
|
+
expect(subject.fits.content).to eq(fits_output)
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -178,14 +178,17 @@ module Ddr::Models
|
|
178
178
|
|
179
179
|
describe "contacts" do
|
180
180
|
before do
|
181
|
-
allow(
|
182
|
-
|
183
|
-
|
181
|
+
allow(Ddr::Models::Contact).to receive(:get).with(:find, slug: 'xa') do
|
182
|
+
Ddr::Models::Contact.new('id'=>1, 'slug'=>'xa', 'name'=>'Contact A', 'short_name'=>'A')
|
183
|
+
end
|
184
|
+
allow(Ddr::Models::Contact).to receive(:get).with(:find, slug: 'yb') do
|
185
|
+
Ddr::Models::Contact.new('id'=>1, 'slug'=>'yb', 'name'=>'Contact B', 'short_name'=>'B')
|
186
|
+
end
|
184
187
|
end
|
185
188
|
describe "#research_help" do
|
186
|
-
before { subject.research_help_contact = '
|
189
|
+
before { subject.research_help_contact = 'yb' }
|
187
190
|
it "should return the appropriate contact" do
|
188
|
-
expect(subject.research_help.slug).to eq('
|
191
|
+
expect(subject.research_help.slug).to eq('yb')
|
189
192
|
end
|
190
193
|
end
|
191
194
|
end
|
@@ -21,6 +21,7 @@ module Ddr::Models
|
|
21
21
|
obj.permanent_url = "http://id.library.duke.edu/ark:/99999/fk4zzz"
|
22
22
|
obj.display_format = "Image"
|
23
23
|
obj.roles.grant role1, role2, role3, role4
|
24
|
+
obj.aspace_id = "aspace_dccea43034e1b8261e14cf999e86449d"
|
24
25
|
end
|
25
26
|
|
26
27
|
its([Indexing::LICENSE]) { is_expected.to eq("cc-by-nc-nd-40") }
|
@@ -35,6 +36,7 @@ module Ddr::Models
|
|
35
36
|
its([Indexing::ACCESS_ROLE]) { is_expected.to eq(obj.roles.to_json) }
|
36
37
|
its([Indexing::POLICY_ROLE]) { is_expected.to contain_exactly(role2.agent.first, role3.agent.first, role4.agent.first) }
|
37
38
|
its([Indexing::RESOURCE_ROLE]) { is_expected.to contain_exactly(role1.agent.first) }
|
39
|
+
its([Indexing::ASPACE_ID]) { is_expected.to eq("aspace_dccea43034e1b8261e14cf999e86449d") }
|
38
40
|
|
39
41
|
end
|
40
42
|
end
|
data/spec/models/license_spec.rb
CHANGED
@@ -8,7 +8,9 @@ module Ddr::Models
|
|
8
8
|
let(:url) { "http://example.com" }
|
9
9
|
let(:obj) { double(pid: "test:1", license: url) }
|
10
10
|
before do
|
11
|
-
allow(described_class).to receive(:
|
11
|
+
allow(described_class).to receive(:get).with(:find, url: url) do
|
12
|
+
described_class.new(url: url, title: "A License")
|
13
|
+
end
|
12
14
|
end
|
13
15
|
its(:pid) { is_expected.to eq("test:1") }
|
14
16
|
its(:to_s) { is_expected.to eq("A License") }
|
@@ -128,9 +128,12 @@ RSpec.describe SolrDocument, type: :model, contacts: true do
|
|
128
128
|
|
129
129
|
describe "contacts" do
|
130
130
|
before do
|
131
|
-
allow(
|
132
|
-
|
133
|
-
|
131
|
+
allow(Ddr::Models::Contact).to receive(:get).with(:find, slug: 'xa') do
|
132
|
+
Ddr::Models::Contact.new('id'=>1, 'slug'=>'xa', 'name'=>'Contact A', 'short_name'=>'A')
|
133
|
+
end
|
134
|
+
allow(Ddr::Models::Contact).to receive(:get).with(:find, slug: 'yb') do
|
135
|
+
Ddr::Models::Contact.new('id'=>1, 'slug'=>'yb', 'name'=>'Contact B', 'short_name'=>'B')
|
136
|
+
end
|
134
137
|
end
|
135
138
|
describe "#research_help" do
|
136
139
|
context "object has research help contact" do
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Ddr::Models
|
2
|
+
RSpec.describe WithContentFile do
|
3
|
+
|
4
|
+
let(:obj) { FactoryGirl.create(:component) }
|
5
|
+
|
6
|
+
before {
|
7
|
+
obj.content.checksumType = "SHA-1"
|
8
|
+
obj.save!
|
9
|
+
}
|
10
|
+
|
11
|
+
it "yields a temp file path to the block and deletes the temp file afterwards" do
|
12
|
+
WithContentFile.new(obj) do |path|
|
13
|
+
@path = path
|
14
|
+
expect(File.exist?(path)).to be true
|
15
|
+
end
|
16
|
+
expect(File.exist?(@path)).to be false
|
17
|
+
end
|
18
|
+
|
19
|
+
it "deletes the temp file even when an exception is raised in the block" do
|
20
|
+
begin
|
21
|
+
WithContentFile.new(obj) do |path|
|
22
|
+
@path = path
|
23
|
+
expect(File.exist?(path)).to be true
|
24
|
+
raise Error, "error"
|
25
|
+
end
|
26
|
+
rescue Error
|
27
|
+
expect(File.exist?(@path)).to be false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "raises an exception when the checksum verification fails" do
|
32
|
+
allow(obj.content).to receive(:checksum) { "foo" }
|
33
|
+
expect { WithContentFile.new(obj) { |p| nil } }.to raise_error(ChecksumInvalid)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddr-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Coble
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-12-
|
12
|
+
date: 2015-12-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -25,6 +25,20 @@ dependencies:
|
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 4.1.6
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: activeresource
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
28
42
|
- !ruby/object:Gem::Dependency
|
29
43
|
name: active-fedora
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,26 +199,6 @@ dependencies:
|
|
185
199
|
- - "~>"
|
186
200
|
- !ruby/object:Gem::Version
|
187
201
|
version: '1.12'
|
188
|
-
- !ruby/object:Gem::Dependency
|
189
|
-
name: ddr-aux-client
|
190
|
-
requirement: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '1.2'
|
195
|
-
- - ">="
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
version: 1.2.2
|
198
|
-
type: :runtime
|
199
|
-
prerelease: false
|
200
|
-
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
requirements:
|
202
|
-
- - "~>"
|
203
|
-
- !ruby/object:Gem::Version
|
204
|
-
version: '1.2'
|
205
|
-
- - ">="
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: 1.2.2
|
208
202
|
- !ruby/object:Gem::Dependency
|
209
203
|
name: ddr-antivirus
|
210
204
|
requirement: !ruby/object:Gem::Requirement
|
@@ -428,7 +422,6 @@ files:
|
|
428
422
|
- lib/ddr/auth/test_helpers.rb
|
429
423
|
- lib/ddr/auth/user.rb
|
430
424
|
- lib/ddr/auth/web_auth_context.rb
|
431
|
-
- lib/ddr/contacts.rb
|
432
425
|
- lib/ddr/datastreams.rb
|
433
426
|
- lib/ddr/datastreams/administrative_metadata_datastream.rb
|
434
427
|
- lib/ddr/datastreams/datastream_behavior.rb
|
@@ -469,10 +462,13 @@ files:
|
|
469
462
|
- lib/ddr/index/query_value.rb
|
470
463
|
- lib/ddr/index/response.rb
|
471
464
|
- lib/ddr/index/unique_key_field.rb
|
472
|
-
- lib/ddr/index_fields.rb
|
473
465
|
- lib/ddr/jobs.rb
|
474
466
|
- lib/ddr/jobs/fits_file_characterization.rb
|
467
|
+
- lib/ddr/jobs/fixity_check.rb
|
468
|
+
- lib/ddr/jobs/job.rb
|
475
469
|
- lib/ddr/jobs/permanent_id.rb
|
470
|
+
- lib/ddr/jobs/queue.rb
|
471
|
+
- lib/ddr/jobs/update_index.rb
|
476
472
|
- lib/ddr/managers.rb
|
477
473
|
- lib/ddr/managers/derivatives_manager.rb
|
478
474
|
- lib/ddr/managers/manager.rb
|
@@ -485,10 +481,12 @@ files:
|
|
485
481
|
- lib/ddr/models/access_controllable.rb
|
486
482
|
- lib/ddr/models/admin_set.rb
|
487
483
|
- lib/ddr/models/base.rb
|
484
|
+
- lib/ddr/models/contact.rb
|
488
485
|
- lib/ddr/models/describable.rb
|
489
486
|
- lib/ddr/models/engine.rb
|
490
487
|
- lib/ddr/models/error.rb
|
491
488
|
- lib/ddr/models/event_loggable.rb
|
489
|
+
- lib/ddr/models/file_characterization.rb
|
492
490
|
- lib/ddr/models/file_management.rb
|
493
491
|
- lib/ddr/models/finding_aid.rb
|
494
492
|
- lib/ddr/models/fixity_checkable.rb
|
@@ -510,6 +508,7 @@ files:
|
|
510
508
|
- lib/ddr/models/struct_div.rb
|
511
509
|
- lib/ddr/models/structure.rb
|
512
510
|
- lib/ddr/models/version.rb
|
511
|
+
- lib/ddr/models/with_content_file.rb
|
513
512
|
- lib/ddr/models/year_facet.rb
|
514
513
|
- lib/ddr/notifications.rb
|
515
514
|
- lib/ddr/utils.rb
|
@@ -531,7 +530,6 @@ files:
|
|
531
530
|
- spec/auth/effective_roles_spec.rb
|
532
531
|
- spec/auth/group_spec.rb
|
533
532
|
- spec/auth/groups_spec.rb
|
534
|
-
- spec/auth/ldap_gateway_spec.rb
|
535
533
|
- spec/auth/legacy_default_permissions_spec.rb
|
536
534
|
- spec/auth/legacy_permissions_spec.rb
|
537
535
|
- spec/auth/roles/detached_role_set_spec.rb
|
@@ -542,7 +540,6 @@ files:
|
|
542
540
|
- spec/auth/superuser_ability_spec.rb
|
543
541
|
- spec/auth/user_spec.rb
|
544
542
|
- spec/auth/web_auth_context_spec.rb
|
545
|
-
- spec/contacts/contacts_spec.rb
|
546
543
|
- spec/controllers/application_controller_spec.rb
|
547
544
|
- spec/controllers/including_role_based_access_controls_enforcement_spec.rb
|
548
545
|
- spec/controllers/users/sessions_controller_spec.rb
|
@@ -607,6 +604,8 @@ files:
|
|
607
604
|
- spec/factories/user_factories.rb
|
608
605
|
- spec/fixtures/16bit.tif
|
609
606
|
- spec/fixtures/8bit.tif
|
607
|
+
- spec/fixtures/arrow1rightred_e0.gif
|
608
|
+
- spec/fixtures/bird.jpg
|
610
609
|
- spec/fixtures/fits/document.xml
|
611
610
|
- spec/fixtures/fits/image.xml
|
612
611
|
- spec/fixtures/imageA.tif
|
@@ -619,7 +618,11 @@ files:
|
|
619
618
|
- spec/index/filter_spec.rb
|
620
619
|
- spec/index/filters_spec.rb
|
621
620
|
- spec/index/query_spec.rb
|
621
|
+
- spec/index/query_value_spec.rb
|
622
622
|
- spec/jobs/fits_file_characterization_spec.rb
|
623
|
+
- spec/jobs/fixity_check_spec.rb
|
624
|
+
- spec/jobs/job_spec.rb
|
625
|
+
- spec/jobs/update_index_spec.rb
|
623
626
|
- spec/managers/derivatives_manager_spec.rb
|
624
627
|
- spec/managers/technical_metadata_manager_spec.rb
|
625
628
|
- spec/models/active_fedora_base_spec.rb
|
@@ -628,9 +631,11 @@ files:
|
|
628
631
|
- spec/models/attachment_spec.rb
|
629
632
|
- spec/models/collection_spec.rb
|
630
633
|
- spec/models/component_spec.rb
|
634
|
+
- spec/models/contact_spec.rb
|
631
635
|
- spec/models/descriptive_metadata_datastream_spec.rb
|
632
636
|
- spec/models/effective_license_spec.rb
|
633
637
|
- spec/models/events_spec.rb
|
638
|
+
- spec/models/file_characterization_spec.rb
|
634
639
|
- spec/models/file_management_spec.rb
|
635
640
|
- spec/models/finding_aid_spec.rb
|
636
641
|
- spec/models/has_admin_metadata_spec.rb
|
@@ -643,6 +648,7 @@ files:
|
|
643
648
|
- spec/models/struct_div_spec.rb
|
644
649
|
- spec/models/structure_spec.rb
|
645
650
|
- spec/models/target_spec.rb
|
651
|
+
- spec/models/with_content_file_spec.rb
|
646
652
|
- spec/models/year_facet_spec.rb
|
647
653
|
- spec/routing/user_routing_spec.rb
|
648
654
|
- spec/spec_helper.rb
|
@@ -676,9 +682,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
676
682
|
version: '0'
|
677
683
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
678
684
|
requirements:
|
679
|
-
- - "
|
685
|
+
- - ">"
|
680
686
|
- !ruby/object:Gem::Version
|
681
|
-
version:
|
687
|
+
version: 1.3.1
|
682
688
|
requirements: []
|
683
689
|
rubyforge_project:
|
684
690
|
rubygems_version: 2.2.2
|
@@ -695,7 +701,6 @@ test_files:
|
|
695
701
|
- spec/auth/effective_roles_spec.rb
|
696
702
|
- spec/auth/group_spec.rb
|
697
703
|
- spec/auth/groups_spec.rb
|
698
|
-
- spec/auth/ldap_gateway_spec.rb
|
699
704
|
- spec/auth/legacy_default_permissions_spec.rb
|
700
705
|
- spec/auth/legacy_permissions_spec.rb
|
701
706
|
- spec/auth/roles/detached_role_set_spec.rb
|
@@ -706,7 +711,6 @@ test_files:
|
|
706
711
|
- spec/auth/superuser_ability_spec.rb
|
707
712
|
- spec/auth/user_spec.rb
|
708
713
|
- spec/auth/web_auth_context_spec.rb
|
709
|
-
- spec/contacts/contacts_spec.rb
|
710
714
|
- spec/controllers/application_controller_spec.rb
|
711
715
|
- spec/controllers/including_role_based_access_controls_enforcement_spec.rb
|
712
716
|
- spec/controllers/users/sessions_controller_spec.rb
|
@@ -771,6 +775,8 @@ test_files:
|
|
771
775
|
- spec/factories/user_factories.rb
|
772
776
|
- spec/fixtures/16bit.tif
|
773
777
|
- spec/fixtures/8bit.tif
|
778
|
+
- spec/fixtures/arrow1rightred_e0.gif
|
779
|
+
- spec/fixtures/bird.jpg
|
774
780
|
- spec/fixtures/fits/document.xml
|
775
781
|
- spec/fixtures/fits/image.xml
|
776
782
|
- spec/fixtures/imageA.tif
|
@@ -783,7 +789,11 @@ test_files:
|
|
783
789
|
- spec/index/filter_spec.rb
|
784
790
|
- spec/index/filters_spec.rb
|
785
791
|
- spec/index/query_spec.rb
|
792
|
+
- spec/index/query_value_spec.rb
|
786
793
|
- spec/jobs/fits_file_characterization_spec.rb
|
794
|
+
- spec/jobs/fixity_check_spec.rb
|
795
|
+
- spec/jobs/job_spec.rb
|
796
|
+
- spec/jobs/update_index_spec.rb
|
787
797
|
- spec/managers/derivatives_manager_spec.rb
|
788
798
|
- spec/managers/technical_metadata_manager_spec.rb
|
789
799
|
- spec/models/active_fedora_base_spec.rb
|
@@ -792,9 +802,11 @@ test_files:
|
|
792
802
|
- spec/models/attachment_spec.rb
|
793
803
|
- spec/models/collection_spec.rb
|
794
804
|
- spec/models/component_spec.rb
|
805
|
+
- spec/models/contact_spec.rb
|
795
806
|
- spec/models/descriptive_metadata_datastream_spec.rb
|
796
807
|
- spec/models/effective_license_spec.rb
|
797
808
|
- spec/models/events_spec.rb
|
809
|
+
- spec/models/file_characterization_spec.rb
|
798
810
|
- spec/models/file_management_spec.rb
|
799
811
|
- spec/models/finding_aid_spec.rb
|
800
812
|
- spec/models/has_admin_metadata_spec.rb
|
@@ -807,6 +819,7 @@ test_files:
|
|
807
819
|
- spec/models/struct_div_spec.rb
|
808
820
|
- spec/models/structure_spec.rb
|
809
821
|
- spec/models/target_spec.rb
|
822
|
+
- spec/models/with_content_file_spec.rb
|
810
823
|
- spec/models/year_facet_spec.rb
|
811
824
|
- spec/routing/user_routing_spec.rb
|
812
825
|
- spec/spec_helper.rb
|