ddr-core 1.2.0.rc2 → 1.2.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/concerns/ddr/solr_document_behavior.rb +3 -0
- data/app/models/ddr/finding_aid.rb +13 -21
- data/lib/ddr/auth/ability_definitions/publication_ability_definitions.rb +1 -1
- data/lib/ddr/core.rb +5 -0
- data/lib/ddr/core/version.rb +1 -1
- data/lib/ddr/index/query_clause.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ebab371e1259e1586c6965ab7178a509be2ee2213267ccfd15122ec1a970890
|
4
|
+
data.tar.gz: 9d108eb264f17016ef13103568fcf569887883f3b902d272deba1af26a8787db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c59868928e54535e9ed804ef93c60a867c9ec00bdb2f69e5a63874cf5b59e37dcc5796fcbc2c8e59d06b1e29957086aa2360b92cb351b8b02badce21b1ddefdc
|
7
|
+
data.tar.gz: bd67b175ee5cff3e11f8eb7867b95124ab6dff4f954d17cf528ab3708e2aacb23c3f4fda5ee57563af258849b1ad215ea9e1041dfdc10a1183c77b0e3c58683b
|
@@ -1,61 +1,53 @@
|
|
1
|
-
# TODO: 'https://duldev.atlassian.net/browse/DDR-1755'
|
2
|
-
|
3
1
|
module Ddr
|
4
2
|
class FindingAid
|
5
3
|
attr_reader :ead_id
|
6
4
|
|
7
|
-
EAD_XMLNS = "urn:isbn:1-931666-22-9"
|
8
|
-
|
9
5
|
def initialize(ead_id)
|
10
6
|
@ead_id = ead_id
|
11
7
|
end
|
12
8
|
|
9
|
+
# TODO: use permalinks in the future when all finding aids have ARKs
|
13
10
|
def url
|
14
|
-
|
11
|
+
[Ddr.finding_aid_base_url, '/catalog/', ead_id].join
|
15
12
|
end
|
16
13
|
|
17
|
-
# The finding aid title
|
18
14
|
def title
|
19
|
-
doc.
|
15
|
+
doc.fetch('normalized_title_ssm',[])&.first
|
20
16
|
end
|
21
17
|
|
22
18
|
def repository
|
23
|
-
|
19
|
+
doc.fetch('repository_ssm',[])&.first
|
24
20
|
end
|
25
21
|
|
26
22
|
def collection_date_span
|
27
|
-
|
23
|
+
doc.fetch('normalized_date_ssm',[])&.first
|
28
24
|
end
|
29
25
|
|
30
26
|
def collection_number
|
31
|
-
|
27
|
+
doc.fetch('unitid_ssm',[])&.first
|
32
28
|
end
|
33
29
|
|
34
30
|
def collection_title
|
35
|
-
|
31
|
+
doc.fetch('title_ssm',[])&.first
|
36
32
|
end
|
37
33
|
|
38
34
|
def extent
|
39
|
-
|
35
|
+
doc.fetch('extent_ssm',[]).join("; ")
|
40
36
|
end
|
41
37
|
|
42
38
|
def abstract
|
43
|
-
|
39
|
+
first_abstract = doc.fetch('abstract_tesim',[])&.first
|
40
|
+
ActionController::Base.helpers.strip_tags(first_abstract)
|
44
41
|
end
|
45
42
|
|
46
43
|
private
|
47
44
|
|
48
|
-
def collection
|
49
|
-
doc.xpath('//ead:archdesc[@level="collection"]', ead: EAD_XMLNS)
|
50
|
-
end
|
51
|
-
|
52
|
-
# @raise [OpenURI::HTTPError] if 404, etc.
|
53
45
|
def doc
|
54
|
-
@doc ||=
|
46
|
+
@doc ||= JSON.parse(open(arclight_collection_data_url).read)
|
55
47
|
end
|
56
48
|
|
57
|
-
def
|
58
|
-
Ddr.
|
49
|
+
def arclight_collection_data_url
|
50
|
+
[Ddr.finding_aid_base_url, '/catalog/', ead_id, '/raw.json'].join
|
59
51
|
end
|
60
52
|
end
|
61
53
|
end
|
@@ -11,7 +11,7 @@ module Ddr
|
|
11
11
|
obj.published? || !obj.publishable?
|
12
12
|
end
|
13
13
|
cannot :unpublish, Ddr::Resource do |obj|
|
14
|
-
!obj.published?
|
14
|
+
!obj.published? && !obj.nonpublishable?
|
15
15
|
end
|
16
16
|
cannot :make_nonpublishable, Ddr::Resource do |obj|
|
17
17
|
obj.published? || !obj.publishable?
|
data/lib/ddr/core.rb
CHANGED
@@ -108,10 +108,15 @@ module Ddr
|
|
108
108
|
ENV["DDR_AUX_API_URL"]
|
109
109
|
end
|
110
110
|
|
111
|
+
# Deprecated in ddr-core 1.2.0. Remove in future.
|
111
112
|
mattr_accessor :ead_xml_base_url do
|
112
113
|
ENV["EAD_XML_BASE_URL"]
|
113
114
|
end
|
114
115
|
|
116
|
+
mattr_accessor :finding_aid_base_url do
|
117
|
+
ENV["FINDING_AID_BASE_URL"] || 'https://archives.lib.duke.edu'
|
118
|
+
end
|
119
|
+
|
115
120
|
module Core
|
116
121
|
|
117
122
|
end
|
data/lib/ddr/core/version.rb
CHANGED
@@ -16,9 +16,9 @@ module Ddr::Index
|
|
16
16
|
|
17
17
|
values do
|
18
18
|
attribute :field, FieldAttribute
|
19
|
-
attribute :value, String
|
20
|
-
attribute :quote_value, Boolean, default:
|
21
|
-
attribute :template, String, default:
|
19
|
+
attribute :value, String, required: true
|
20
|
+
attribute :quote_value, Boolean, default: false
|
21
|
+
attribute :template, String, default: STANDARD_QUERY
|
22
22
|
end
|
23
23
|
|
24
24
|
def to_s
|
@@ -46,7 +46,7 @@ module Ddr::Index
|
|
46
46
|
alias_method :id, :unique_key
|
47
47
|
|
48
48
|
def where(field, value)
|
49
|
-
|
49
|
+
values = Array(value)
|
50
50
|
if values.size > 1
|
51
51
|
disjunction(field, values)
|
52
52
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ddr-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.
|
4
|
+
version: 1.2.0.rc3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Coble
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2020-
|
14
|
+
date: 2020-07-13 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activeresource
|