ddr-models 2.0.0.pre.4 → 2.0.0.pre.5
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/lib/ddr/contacts.rb +25 -0
- data/lib/ddr/datastreams/administrative_metadata_datastream.rb +2 -0
- data/lib/ddr/index_fields.rb +1 -0
- data/lib/ddr/models.rb +1 -0
- data/lib/ddr/models/has_admin_metadata.rb +5 -0
- data/lib/ddr/models/indexing.rb +16 -15
- data/lib/ddr/models/solr_document.rb +18 -0
- data/lib/ddr/models/version.rb +1 -1
- data/lib/ddr/vocab.rb +1 -0
- data/lib/ddr/vocab/contact.rb +11 -0
- data/spec/contacts/contacts_spec.rb +26 -0
- data/spec/models/has_admin_metadata_spec.rb +15 -1
- data/spec/models/solr_document_spec.rb +39 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: facb25169ffc7912ad207e33bfe63361d579589f
|
4
|
+
data.tar.gz: 8c4b9441dd3fbf698098c26729444f68cf400cef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f61cc78e2b0b3c43cfcf8df04b571afb25ac3ec2caa0c16a68d14b7dd2b03be74c0804d7d76e27192019bdff384451666ae4ba88f111690aa7d5fd143d7d1de0
|
7
|
+
data.tar.gz: 4357bf26040d884d7c4eccc0de7bbc6c975469e71488ab79b9c550aac37d39235793f63b3ed995e77c3d8013f73be861d4632f1ccf97bb17a636688c29d234bd
|
data/lib/ddr/contacts.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Ddr
|
2
|
+
module Contacts
|
3
|
+
extend ActiveSupport::Autoload
|
4
|
+
|
5
|
+
class << self
|
6
|
+
attr_accessor :contacts
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.get(contact_slug)
|
10
|
+
load_contacts unless contacts
|
11
|
+
contacts[contact_slug]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.load_contacts
|
15
|
+
self.contacts = OpenStruct.new
|
16
|
+
contacts_file = File.join(Rails.root, 'config', 'contacts.yml')
|
17
|
+
YAML.load_file(contacts_file).each do |key, value|
|
18
|
+
contacts[key] = OpenStruct.new(value.merge('slug' => key))
|
19
|
+
end
|
20
|
+
rescue SystemCallError
|
21
|
+
Rails.logger.warn("Unable to load Contacts file: #{contacts_file}")
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/lib/ddr/index_fields.rb
CHANGED
@@ -50,6 +50,7 @@ module Ddr
|
|
50
50
|
PERMANENT_ID = solr_name :permanent_id, :stored_sortable, type: :string
|
51
51
|
PERMANENT_URL = solr_name :permanent_url, :stored_sortable, type: :string
|
52
52
|
POLICY_ROLE = solr_name :policy_role, :facetable, type: :string
|
53
|
+
RESEARCH_HELP_CONTACT = solr_name :research_help_contact, :stored_sortable
|
53
54
|
RESOURCE_ROLE = solr_name :resource_role, :facetable, type: :string
|
54
55
|
STRUCT_MAPS = solr_name :struct_maps, :stored_sortable
|
55
56
|
TITLE = solr_name :title, :stored_sortable
|
data/lib/ddr/models.rb
CHANGED
@@ -16,6 +16,7 @@ module Ddr
|
|
16
16
|
:local_id,
|
17
17
|
:permanent_id,
|
18
18
|
:permanent_url,
|
19
|
+
:research_help_contact,
|
19
20
|
:workflow_state,
|
20
21
|
datastream: "adminMetadata",
|
21
22
|
multiple: false
|
@@ -56,6 +57,10 @@ module Ddr
|
|
56
57
|
Ddr::Auth::EffectivePermissions.call(self, agents)
|
57
58
|
end
|
58
59
|
|
60
|
+
def research_help
|
61
|
+
Ddr::Contacts.get(research_help_contact) if research_help_contact
|
62
|
+
end
|
63
|
+
|
59
64
|
private
|
60
65
|
|
61
66
|
def update_permanent_id_on_destroy
|
data/lib/ddr/models/indexing.rb
CHANGED
@@ -11,21 +11,22 @@ module Ddr
|
|
11
11
|
|
12
12
|
def index_fields
|
13
13
|
fields = {
|
14
|
-
TITLE
|
15
|
-
INTERNAL_URI
|
16
|
-
IDENTIFIER_ALL
|
17
|
-
WORKFLOW_STATE
|
18
|
-
LOCAL_ID
|
19
|
-
ADMIN_SET
|
20
|
-
DISPLAY_FORMAT
|
21
|
-
PERMANENT_ID
|
22
|
-
PERMANENT_URL
|
23
|
-
ACCESS_ROLE
|
24
|
-
RESOURCE_ROLE
|
25
|
-
POLICY_ROLE
|
26
|
-
CREATOR_FACET
|
27
|
-
DATE_FACET
|
28
|
-
DATE_SORT
|
14
|
+
TITLE => title_display,
|
15
|
+
INTERNAL_URI => internal_uri,
|
16
|
+
IDENTIFIER_ALL => all_identifiers,
|
17
|
+
WORKFLOW_STATE => workflow_state,
|
18
|
+
LOCAL_ID => local_id,
|
19
|
+
ADMIN_SET => admin_set,
|
20
|
+
DISPLAY_FORMAT => display_format,
|
21
|
+
PERMANENT_ID => permanent_id,
|
22
|
+
PERMANENT_URL => permanent_url,
|
23
|
+
ACCESS_ROLE => roles.to_json,
|
24
|
+
RESOURCE_ROLE => roles.in_resource_scope.agents,
|
25
|
+
POLICY_ROLE => roles.in_policy_scope.agents,
|
26
|
+
CREATOR_FACET => creator,
|
27
|
+
DATE_FACET => date,
|
28
|
+
DATE_SORT => date_sort,
|
29
|
+
RESEARCH_HELP_CONTACT => research_help_contact
|
29
30
|
}
|
30
31
|
if respond_to? :fixity_checks
|
31
32
|
last_fixity_check = fixity_checks.last
|
@@ -226,6 +226,15 @@ module Ddr
|
|
226
226
|
Ddr::Auth::EffectivePermissions.call(self, agents)
|
227
227
|
end
|
228
228
|
|
229
|
+
def display_format
|
230
|
+
get(Ddr::IndexFields::DISPLAY_FORMAT)
|
231
|
+
end
|
232
|
+
|
233
|
+
def research_help
|
234
|
+
research_help_contact = self[Ddr::IndexFields::RESEARCH_HELP_CONTACT] || inherited_research_help_contact
|
235
|
+
Ddr::Contacts.get(research_help_contact) if research_help_contact
|
236
|
+
end
|
237
|
+
|
229
238
|
private
|
230
239
|
|
231
240
|
def targets_query
|
@@ -252,6 +261,15 @@ module Ddr
|
|
252
261
|
ActiveFedora::Base.pid_from_uri(get(field)) rescue nil
|
253
262
|
end
|
254
263
|
|
264
|
+
def inherited_research_help_contact
|
265
|
+
if admin_policy_pid
|
266
|
+
query = ActiveFedora::SolrService.construct_query_for_pids([admin_policy_pid])
|
267
|
+
results = ActiveFedora::SolrService.query(query)
|
268
|
+
doc = results.map { |result| ::SolrDocument.new(result) }.first
|
269
|
+
doc[Ddr::IndexFields::RESEARCH_HELP_CONTACT].first
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
255
273
|
end
|
256
274
|
end
|
257
275
|
end
|
data/lib/ddr/models/version.rb
CHANGED
data/lib/ddr/vocab.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Ddr
|
4
|
+
RSpec.describe Contacts, contacts: true do
|
5
|
+
|
6
|
+
before do
|
7
|
+
allow(YAML).to receive(:load_file) { { 'a' => { 'name' => 'Contact A', 'short_name' => 'A' },
|
8
|
+
'b' => { 'name' => 'Contact B', 'short_name' => 'B' } } }
|
9
|
+
Contacts.load_contacts
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "load_contacts" do
|
13
|
+
it "should load the contacts" do
|
14
|
+
expect(Contacts.contacts.to_h).to_not be_empty
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "get" do
|
19
|
+
it "should return the appropriate contact" do
|
20
|
+
expect(Contacts.get('a').name).to eq('Contact A')
|
21
|
+
expect(Contacts.get('b').name).to eq('Contact B')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -3,7 +3,7 @@ require 'support/ezid_mock_identifier'
|
|
3
3
|
|
4
4
|
module Ddr
|
5
5
|
module Models
|
6
|
-
RSpec.describe HasAdminMetadata, type: :model do
|
6
|
+
RSpec.describe HasAdminMetadata, type: :model, contacts: true do
|
7
7
|
|
8
8
|
describe "local id" do
|
9
9
|
subject { FactoryGirl.build(:item) }
|
@@ -226,6 +226,20 @@ module Ddr
|
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
229
|
+
describe "contacts" do
|
230
|
+
before do
|
231
|
+
allow(YAML).to receive(:load_file) { { 'a' => { 'name' => 'Contact A', 'short_name' => 'A' },
|
232
|
+
'b' => { 'name' => 'Contact B', 'short_name' => 'B' } } }
|
233
|
+
Ddr::Contacts.load_contacts
|
234
|
+
end
|
235
|
+
describe "#research_help" do
|
236
|
+
before { subject.research_help_contact = 'b' }
|
237
|
+
it "should return the appropriate contact" do
|
238
|
+
expect(subject.research_help.slug).to eq('b')
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
229
243
|
end
|
230
244
|
end
|
231
245
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
RSpec.describe SolrDocument, type: :model do
|
3
|
+
RSpec.describe SolrDocument, type: :model, contacts: true do
|
4
4
|
|
5
5
|
describe "#inherited_license" do
|
6
6
|
let(:apo_solr_response) { [{"system_create_dtsi"=>"2015-03-10T15:20:16Z", "system_modified_dtsi"=>"2015-03-10T15:21:50Z", "object_state_ssi"=>"A", "active_fedora_model_ssi"=>"Collection", "id"=>"changeme:224", "object_profile_ssm"=>["{\"datastreams\":{\"DC\":{\"dsLabel\":\"Dublin Core Record for this object\",\"dsVersionID\":\"DC1.0\",\"dsCreateDate\":\"2015-03-10T15:20:16Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":\"http://www.openarchives.org/OAI/2.0/oai_dc/\",\"dsControlGroup\":\"X\",\"dsSize\":341,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+DC+DC1.0\",\"dsLocationType\":null,\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"0555f020bbfc94c07745f530af4195fed9cf4e4ba539a30727f2d2d5743627be\"},\"RELS-EXT\":{\"dsLabel\":\"Fedora Object-to-Object Relationship Metadata\",\"dsVersionID\":\"RELS-EXT.1\",\"dsCreateDate\":\"2015-03-10T15:20:18Z\",\"dsState\":\"A\",\"dsMIME\":\"application/rdf+xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"X\",\"dsSize\":417,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+RELS-EXT+RELS-EXT.1\",\"dsLocationType\":null,\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"6a7c2621534cd1cb28d9cfa7e45bb128a1f3c05028e29def4dea479be9596d7d\"},\"descMetadata\":{\"dsLabel\":\"Descriptive Metadata for this object\",\"dsVersionID\":\"descMetadata.1\",\"dsCreateDate\":\"2015-03-10T15:20:18Z\",\"dsState\":\"A\",\"dsMIME\":\"application/n-triples\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":80,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+descMetadata+descMetadata.1\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"bbba526a1ca47f19dfe110f25a0a721bda481dc414f7ec89e3f02c5562eaa9a2\"},\"rightsMetadata\":{\"dsLabel\":null,\"dsVersionID\":\"rightsMetadata.0\",\"dsCreateDate\":\"2015-03-10T15:20:17Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":550,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+rightsMetadata+rightsMetadata.0\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"210d5a228bd96e22b20723de1dd20ea8d897252063713d0815369c49045c5c05\"},\"properties\":{},\"thumbnail\":{},\"adminMetadata\":{},\"defaultRights\":{\"dsLabel\":null,\"dsVersionID\":\"defaultRights.0\",\"dsCreateDate\":\"2015-03-10T15:21:50Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":634,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+defaultRights+defaultRights.0\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"1a2d9e665228d5e3cbf5f8ddd0d641172c20f98b4e05d62f741b7b9010696ad0\"}},\"objLabel\":null,\"objOwnerId\":\"fedoraAdmin\",\"objModels\":[\"info:fedora/afmodel:Collection\",\"info:fedora/fedora-system:FedoraObject-3.0\"],\"objCreateDate\":\"2015-03-10T15:20:16Z\",\"objLastModDate\":\"2015-03-10T15:20:18Z\",\"objDissIndexViewURL\":\"http://localhost:8983/fedora/objects/changeme%3A224/methods/fedora-system%3A3/viewMethodIndex\",\"objItemIndexViewURL\":\"http://localhost:8983/fedora/objects/changeme%3A224/methods/fedora-system%3A3/viewItemIndex\",\"objState\":\"A\"}"], "title_tesim"=>["Test Collection"], "edit_access_person_ssim"=>["coblej@duke.edu"], "inheritable_read_access_group_ssim"=>["public"], "is_governed_by_ssim"=>["info:fedora/changeme:224"], "has_model_ssim"=>["info:fedora/afmodel:Collection"], "title_ssi"=>"Test Collection", "internal_uri_ssi"=>"info:fedora/changeme:224", "default_license_description_tesim"=>["Default License Description"], "default_license_title_tesim"=>["Default License Title"], "default_license_url_tesim"=>["http://test.license.org/"], "_version_"=>1495270331036729344, "timestamp"=>"2015-03-10T15:21:50.793Z"}] }
|
@@ -95,4 +95,42 @@ RSpec.describe SolrDocument, type: :model do
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
|
+
describe "#display_format" do
|
99
|
+
before { subject[Ddr::IndexFields::DISPLAY_FORMAT] = "Image" }
|
100
|
+
its(:display_format) { should eq("Image") }
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "contacts" do
|
104
|
+
before do
|
105
|
+
allow(YAML).to receive(:load_file) { { 'a' => { 'name' => 'Contact A', 'short_name' => 'A' },
|
106
|
+
'b' => { 'name' => 'Contact B', 'short_name' => 'B' } } }
|
107
|
+
Ddr::Contacts.load_contacts
|
108
|
+
end
|
109
|
+
describe "#research_help" do
|
110
|
+
context "object has research help contact" do
|
111
|
+
before { subject[Ddr::IndexFields::RESEARCH_HELP_CONTACT] = 'b' }
|
112
|
+
it "should return the object's research help contact" do
|
113
|
+
expect(subject.research_help.slug).to eq('b')
|
114
|
+
end
|
115
|
+
end
|
116
|
+
context "object does not have research help contact" do
|
117
|
+
context "collection has research help contact" do
|
118
|
+
let(:apo_solr_response) { [{"system_create_dtsi"=>"2015-03-10T15:20:16Z", "system_modified_dtsi"=>"2015-03-10T15:21:50Z", "object_state_ssi"=>"A", "active_fedora_model_ssi"=>"Collection", "id"=>"changeme:224", "object_profile_ssm"=>["{\"datastreams\":{\"DC\":{\"dsLabel\":\"Dublin Core Record for this object\",\"dsVersionID\":\"DC1.0\",\"dsCreateDate\":\"2015-03-10T15:20:16Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":\"http://www.openarchives.org/OAI/2.0/oai_dc/\",\"dsControlGroup\":\"X\",\"dsSize\":341,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+DC+DC1.0\",\"dsLocationType\":null,\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"0555f020bbfc94c07745f530af4195fed9cf4e4ba539a30727f2d2d5743627be\"},\"RELS-EXT\":{\"dsLabel\":\"Fedora Object-to-Object Relationship Metadata\",\"dsVersionID\":\"RELS-EXT.1\",\"dsCreateDate\":\"2015-03-10T15:20:18Z\",\"dsState\":\"A\",\"dsMIME\":\"application/rdf+xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"X\",\"dsSize\":417,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+RELS-EXT+RELS-EXT.1\",\"dsLocationType\":null,\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"6a7c2621534cd1cb28d9cfa7e45bb128a1f3c05028e29def4dea479be9596d7d\"},\"descMetadata\":{\"dsLabel\":\"Descriptive Metadata for this object\",\"dsVersionID\":\"descMetadata.1\",\"dsCreateDate\":\"2015-03-10T15:20:18Z\",\"dsState\":\"A\",\"dsMIME\":\"application/n-triples\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":80,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+descMetadata+descMetadata.1\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"bbba526a1ca47f19dfe110f25a0a721bda481dc414f7ec89e3f02c5562eaa9a2\"},\"rightsMetadata\":{\"dsLabel\":null,\"dsVersionID\":\"rightsMetadata.0\",\"dsCreateDate\":\"2015-03-10T15:20:17Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":550,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+rightsMetadata+rightsMetadata.0\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"210d5a228bd96e22b20723de1dd20ea8d897252063713d0815369c49045c5c05\"},\"properties\":{},\"thumbnail\":{},\"adminMetadata\":{},\"defaultRights\":{\"dsLabel\":null,\"dsVersionID\":\"defaultRights.0\",\"dsCreateDate\":\"2015-03-10T15:21:50Z\",\"dsState\":\"A\",\"dsMIME\":\"text/xml\",\"dsFormatURI\":null,\"dsControlGroup\":\"M\",\"dsSize\":634,\"dsVersionable\":true,\"dsInfoType\":null,\"dsLocation\":\"changeme:224+defaultRights+defaultRights.0\",\"dsLocationType\":\"INTERNAL_ID\",\"dsChecksumType\":\"SHA-256\",\"dsChecksum\":\"1a2d9e665228d5e3cbf5f8ddd0d641172c20f98b4e05d62f741b7b9010696ad0\"}},\"objLabel\":null,\"objOwnerId\":\"fedoraAdmin\",\"objModels\":[\"info:fedora/afmodel:Collection\",\"info:fedora/fedora-system:FedoraObject-3.0\"],\"objCreateDate\":\"2015-03-10T15:20:16Z\",\"objLastModDate\":\"2015-03-10T15:20:18Z\",\"objDissIndexViewURL\":\"http://localhost:8983/fedora/objects/changeme%3A224/methods/fedora-system%3A3/viewMethodIndex\",\"objItemIndexViewURL\":\"http://localhost:8983/fedora/objects/changeme%3A224/methods/fedora-system%3A3/viewItemIndex\",\"objState\":\"A\"}"], "title_tesim"=>["Test Collection"], "edit_access_person_ssim"=>["coblej@duke.edu"], "inheritable_read_access_group_ssim"=>["public"], "is_governed_by_ssim"=>["info:fedora/changeme:224"], "has_model_ssim"=>["info:fedora/afmodel:Collection"], "title_ssi"=>"Test Collection", "internal_uri_ssi"=>"info:fedora/changeme:224", Ddr::IndexFields::RESEARCH_HELP_CONTACT=>["a"], "_version_"=>1495270331036729344, "timestamp"=>"2015-03-10T15:21:50.793Z"}] }
|
119
|
+
before do
|
120
|
+
allow(subject).to receive(:admin_policy_pid).and_return('changeme:224')
|
121
|
+
allow(ActiveFedora::SolrService).to receive(:query).and_return(apo_solr_response)
|
122
|
+
end
|
123
|
+
it "should return the collection's research help contact" do
|
124
|
+
expect(subject.research_help.slug).to eq("a")
|
125
|
+
end
|
126
|
+
end
|
127
|
+
context "collection does not have research help contact" do
|
128
|
+
it "should return nil" do
|
129
|
+
expect(subject.research_help).to be_nil
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
98
136
|
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: 2.0.0.pre.
|
4
|
+
version: 2.0.0.pre.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Coble
|
@@ -407,6 +407,7 @@ files:
|
|
407
407
|
- lib/ddr/auth/test_helpers.rb
|
408
408
|
- lib/ddr/auth/user.rb
|
409
409
|
- lib/ddr/auth/web_auth_context.rb
|
410
|
+
- lib/ddr/contacts.rb
|
410
411
|
- lib/ddr/datastreams.rb
|
411
412
|
- lib/ddr/datastreams/administrative_metadata_datastream.rb
|
412
413
|
- lib/ddr/datastreams/datastream_behavior.rb
|
@@ -469,6 +470,7 @@ files:
|
|
469
470
|
- lib/ddr/utils.rb
|
470
471
|
- lib/ddr/vocab.rb
|
471
472
|
- lib/ddr/vocab/asset.rb
|
473
|
+
- lib/ddr/vocab/contact.rb
|
472
474
|
- lib/ddr/vocab/display.rb
|
473
475
|
- lib/ddr/vocab/duke_terms.rb
|
474
476
|
- lib/ddr/vocab/rdf_vocabulary_parser.rb
|
@@ -497,6 +499,7 @@ files:
|
|
497
499
|
- spec/auth/superuser_ability_spec.rb
|
498
500
|
- spec/auth/user_spec.rb
|
499
501
|
- spec/auth/web_auth_context_spec.rb
|
502
|
+
- spec/contacts/contacts_spec.rb
|
500
503
|
- spec/controllers/application_controller_spec.rb
|
501
504
|
- spec/controllers/including_role_based_access_controls_enforcement_spec.rb
|
502
505
|
- spec/controllers/users/sessions_controller_spec.rb
|
@@ -624,7 +627,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
624
627
|
version: 1.3.1
|
625
628
|
requirements: []
|
626
629
|
rubyforge_project:
|
627
|
-
rubygems_version: 2.
|
630
|
+
rubygems_version: 2.2.2
|
628
631
|
signing_key:
|
629
632
|
specification_version: 4
|
630
633
|
summary: Models used in the Duke Digital Repository
|
@@ -651,6 +654,7 @@ test_files:
|
|
651
654
|
- spec/auth/superuser_ability_spec.rb
|
652
655
|
- spec/auth/user_spec.rb
|
653
656
|
- spec/auth/web_auth_context_spec.rb
|
657
|
+
- spec/contacts/contacts_spec.rb
|
654
658
|
- spec/controllers/application_controller_spec.rb
|
655
659
|
- spec/controllers/including_role_based_access_controls_enforcement_spec.rb
|
656
660
|
- spec/controllers/users/sessions_controller_spec.rb
|