ddr-models 3.0.0.beta.16 → 3.0.0.beta.17
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/config/initializers/active_fedora_base.rb +4 -4
- data/ddr-models.gemspec +1 -1
- data/lib/ddr/models/file.rb +2 -2
- data/lib/ddr/models/has_struct_metadata.rb +2 -2
- data/lib/ddr/models/solr_document.rb +2 -2
- data/lib/ddr/models/struct_div.rb +2 -2
- data/lib/ddr/models/structure.rb +5 -1
- data/lib/ddr/models/version.rb +1 -1
- data/spec/auth/ability_spec.rb +3 -3
- data/spec/managers/derivatives_manager_spec.rb +3 -3
- data/spec/models/active_fedora_base_spec.rb +3 -3
- data/spec/models/has_struct_metadata_spec.rb +2 -2
- data/spec/models/structure_spec.rb +10 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ada8e4f7256516690e6fc879f9c7a76ff85d254
|
4
|
+
data.tar.gz: f6de430ff6b09be6010d34456a1e5a4e5ee59f86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95c1a3beb7903628cfabe5968fa3ac91b1101fbdb3ab0a35ab6a7a67b79bd394e28d91a6758983b4d44fdba83bcf168f6a3a027f3b3a9facc5e299c29b4c99ae
|
7
|
+
data.tar.gz: cc7cb67e7e46437ad4d1c7f48dfcd673de6673b3d37bd1edbdb3e6459df0c5d14d29d65bdb481b6f4afb0c43445297ebe6298298327fda9f11f86e9c4acd32fd
|
@@ -17,7 +17,7 @@ ActiveFedora::Base.class_eval do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def can_have_content?
|
20
|
-
|
20
|
+
attached_files.key? "content"
|
21
21
|
end
|
22
22
|
|
23
23
|
def has_content?
|
@@ -38,7 +38,7 @@ ActiveFedora::Base.class_eval do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def can_have_struct_metadata?
|
41
|
-
|
41
|
+
attached_files.key? Ddr::Models::File::STRUCT_METADATA
|
42
42
|
end
|
43
43
|
|
44
44
|
def has_struct_metadata?
|
@@ -52,9 +52,9 @@ ActiveFedora::Base.class_eval do
|
|
52
52
|
def has_multires_image?
|
53
53
|
can_have_multires_image? && multires_image_file_path.present?
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
def can_have_thumbnail?
|
57
|
-
|
57
|
+
attached_files.key? "thumbnail"
|
58
58
|
end
|
59
59
|
|
60
60
|
def has_thumbnail?
|
data/ddr-models.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.add_dependency "devise", "~> 3.4"
|
27
27
|
s.add_dependency "omniauth-shibboleth", "~> 1.2.0"
|
28
28
|
s.add_dependency "grouper-rest-client"
|
29
|
-
s.add_dependency "ezid-client", "~> 1.4.
|
29
|
+
s.add_dependency "ezid-client", "~> 1.4.2"
|
30
30
|
s.add_dependency "resque", "~> 1.25"
|
31
31
|
s.add_dependency "rdf-vocab", "~> 0.8"
|
32
32
|
s.add_dependency "net-ldap", "~> 0.11"
|
data/lib/ddr/models/file.rb
CHANGED
@@ -45,9 +45,9 @@ module Ddr::Models
|
|
45
45
|
content_digest(algorithm)
|
46
46
|
end
|
47
47
|
if checksum_value == calculated_checksum
|
48
|
-
"The checksum #{algorithm}:#{checksum_value} is valid for file #{
|
48
|
+
"The checksum #{algorithm}:#{checksum_value} is valid for file #{::File.basename(id)}."
|
49
49
|
else
|
50
|
-
raise ChecksumInvalid, "The checksum #{algorithm}:#{checksum_value} is not valid for file #{
|
50
|
+
raise ChecksumInvalid, "The checksum #{algorithm}:#{checksum_value} is not valid for file #{::File.basename(id)}."
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -10,8 +10,8 @@ module Ddr
|
|
10
10
|
|
11
11
|
def structure
|
12
12
|
unless @structure
|
13
|
-
if
|
14
|
-
@structure = Ddr::Models::Structure.new(Nokogiri::XML(
|
13
|
+
if attached_files[Ddr::Models::File::STRUCT_METADATA].content
|
14
|
+
@structure = Ddr::Models::Structure.new(Nokogiri::XML(attached_files[Ddr::Models::File::STRUCT_METADATA].content))
|
15
15
|
end
|
16
16
|
end
|
17
17
|
@structure
|
@@ -53,7 +53,7 @@ module Ddr::Models
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def access_roles
|
56
|
-
|
56
|
+
fetch(Ddr::Index::Fields::ACCESS_ROLE)
|
57
57
|
end
|
58
58
|
|
59
59
|
def object_profile
|
@@ -90,7 +90,7 @@ module Ddr::Models
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def has_datastream?(dsID)
|
93
|
-
|
93
|
+
attached_files.key?(dsID) && attached_files[dsID]["size"].present?
|
94
94
|
end
|
95
95
|
|
96
96
|
def has_admin_policy?
|
@@ -23,7 +23,7 @@ module Ddr
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def docs
|
26
|
-
query = ActiveFedora::
|
26
|
+
query = ActiveFedora::SolrQueryBuilder.construct_query_for_ids(pids)
|
27
27
|
results = ActiveFedora::SolrService.query(query, rows: 999999)
|
28
28
|
results.each_with_object({}) do |r, memo|
|
29
29
|
memo[r["id"]] = ::SolrDocument.new(r)
|
@@ -60,4 +60,4 @@ module Ddr
|
|
60
60
|
|
61
61
|
end
|
62
62
|
end
|
63
|
-
end
|
63
|
+
end
|
data/lib/ddr/models/structure.rb
CHANGED
@@ -25,6 +25,10 @@ module Ddr
|
|
25
25
|
xpath("//xmlns:structMap[@TYPE='#{type}']").first
|
26
26
|
end
|
27
27
|
|
28
|
+
def fptr_nodes(type='default')
|
29
|
+
structMap_node(type).xpath('//xmlns:fptr')
|
30
|
+
end
|
31
|
+
|
28
32
|
def as_xml_document
|
29
33
|
__getobj__
|
30
34
|
end
|
@@ -57,4 +61,4 @@ module Ddr
|
|
57
61
|
|
58
62
|
end
|
59
63
|
end
|
60
|
-
end
|
64
|
+
end
|
data/lib/ddr/models/version.rb
CHANGED
data/spec/auth/ability_spec.rb
CHANGED
@@ -19,7 +19,7 @@ module Ddr::Auth
|
|
19
19
|
|
20
20
|
DatastreamAbilityDefinitions::DATASTREAM_DOWNLOAD_ABILITIES.each do |dsid, permission|
|
21
21
|
describe "\"#{dsid}\"" do
|
22
|
-
let(:ds) { obj.
|
22
|
+
let(:ds) { obj.attached_files[dsid] }
|
23
23
|
describe "can #{permission.inspect} object" do
|
24
24
|
before { subject.can permission, obj.id }
|
25
25
|
it { should be_able_to(:download, ds) }
|
@@ -31,10 +31,10 @@ module Ddr::Auth
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
describe "non-downloadable
|
34
|
+
describe "non-downloadable attached_files" do
|
35
35
|
(Component.ds_specs.keys.map(&:to_s) - DatastreamAbilityDefinitions::DATASTREAM_DOWNLOAD_ABILITIES.keys).each do |dsid|
|
36
36
|
describe "\"#{dsid}\"" do
|
37
|
-
let(:ds) { obj.
|
37
|
+
let(:ds) { obj.attached_files[dsid] }
|
38
38
|
before { subject.can :download, obj.id }
|
39
39
|
it { should_not be_able_to(:download, ds) }
|
40
40
|
end
|
@@ -93,10 +93,10 @@ module Ddr
|
|
93
93
|
describe "thumbnail" do
|
94
94
|
let(:object) { ContentBearing.create }
|
95
95
|
it "should create content in the thumbnail datastream" do
|
96
|
-
expect(object.
|
96
|
+
expect(object.attached_files[Ddr::Models::File::THUMBNAIL]).to_not be_present
|
97
97
|
object.derivatives.generate_derivative Ddr::Derivatives::DERIVATIVES[:thumbnail]
|
98
|
-
expect(object.
|
99
|
-
expect(object.
|
98
|
+
expect(object.attached_files[Ddr::Models::File::THUMBNAIL]).to be_present
|
99
|
+
expect(object.attached_files[Ddr::Models::File::THUMBNAIL].size).to be > 0
|
100
100
|
end
|
101
101
|
end
|
102
102
|
describe "ptif" do
|
@@ -55,7 +55,7 @@ RSpec.describe ActiveFedora::Base do
|
|
55
55
|
describe "children", children: true do
|
56
56
|
before do
|
57
57
|
class Childrenable < ActiveFedora::Base
|
58
|
-
has_many :children,
|
58
|
+
has_many :children, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.isMemberOf, class_name: 'ActiveFedora::Base'
|
59
59
|
end
|
60
60
|
end
|
61
61
|
after do
|
@@ -95,7 +95,7 @@ RSpec.describe ActiveFedora::Base do
|
|
95
95
|
end
|
96
96
|
describe "#has_thumbnail?" do
|
97
97
|
let(:thumbnailable) { Thumbnailable.new }
|
98
|
-
before { allow(thumbnailable.
|
98
|
+
before { allow(thumbnailable.attached_files[Ddr::Models::File::THUMBNAIL]).to receive(:has_content?).and_return(true) }
|
99
99
|
it "should return true if object has a thumbnail, else false" do
|
100
100
|
expect(thumbnailable).to have_thumbnail
|
101
101
|
expect(Thumbnailable.new).not_to have_thumbnail
|
@@ -121,7 +121,7 @@ RSpec.describe ActiveFedora::Base do
|
|
121
121
|
end
|
122
122
|
describe "#has_content?" do
|
123
123
|
let(:contentable) { Contentable.new }
|
124
|
-
before { allow(contentable.
|
124
|
+
before { allow(contentable.attached_files[Ddr::Models::File::CONTENT]).to receive(:has_content?).and_return(true) }
|
125
125
|
it "should return true if object has content, else false" do
|
126
126
|
expect(contentable).to have_content
|
127
127
|
expect(Contentable.new).not_to have_content
|
@@ -13,7 +13,7 @@ module Ddr
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
context "existing structural metadata" do
|
16
|
-
before { item.
|
16
|
+
before { item.attached_files[Ddr::Models::File::STRUCT_METADATA].content = simple_structure }
|
17
17
|
it "should return the structural metadata" do
|
18
18
|
expect(item.structure.to_xml).to be_equivalent_to(simple_structure)
|
19
19
|
end
|
@@ -35,7 +35,7 @@ module Ddr
|
|
35
35
|
|
36
36
|
describe "indexing" do
|
37
37
|
let(:expected_json) { multiple_struct_maps_structure_to_json }
|
38
|
-
before { item.
|
38
|
+
before { item.attached_files[Ddr::Models::File::STRUCT_METADATA].content = multiple_struct_maps_structure }
|
39
39
|
it "should index the JSON representation of the structure" do
|
40
40
|
indexing = item.to_solr
|
41
41
|
expect(indexing.keys).to include(Ddr::Index::Fields::STRUCT_MAPS)
|
@@ -111,6 +111,16 @@ module Ddr
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
+
describe "#fptr_nodes" do
|
115
|
+
let(:structure) { FactoryGirl.build(:nested_structure) }
|
116
|
+
it "should return all fptr nodes" do
|
117
|
+
results = structure.fptr_nodes
|
118
|
+
expect(results.size).to eq(3)
|
119
|
+
ids = results.map { |entry| entry['CONTENTIDS'] }
|
120
|
+
expect(ids).to match_array([ 'test_5', 'test_6', 'test_7' ])
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
114
124
|
end
|
115
125
|
end
|
116
126
|
end
|
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: 3.0.0.beta.
|
4
|
+
version: 3.0.0.beta.17
|
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: 2016-03-
|
12
|
+
date: 2016-03-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -129,14 +129,14 @@ dependencies:
|
|
129
129
|
requirements:
|
130
130
|
- - "~>"
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 1.4.
|
132
|
+
version: 1.4.2
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 1.4.
|
139
|
+
version: 1.4.2
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: resque
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|