ddr-models 2.0.0.pre.4 → 2.0.0.pre.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|