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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edec71f33dfe1094a8745e65ee9442145fff93c8
4
- data.tar.gz: 4d4e93ebac4f35bdf3acd49b64feb90e6be9b7e5
3
+ metadata.gz: facb25169ffc7912ad207e33bfe63361d579589f
4
+ data.tar.gz: 8c4b9441dd3fbf698098c26729444f68cf400cef
5
5
  SHA512:
6
- metadata.gz: d1f66ebd01130976ee83afdbf334058592da001d2616d566b2c874ed5ef5b60e2a832d13935b3f49552ec2e3feb859878a85561eb598c3bb828cb322dd9a5109
7
- data.tar.gz: d88b98a85c9d7496530d07ee79ea036dbd58256b83667f701b688195a46186bfbd1c376890eac921441e232aa13c7d93e639c087a3cd298daff35aef12ee00fd
6
+ metadata.gz: f61cc78e2b0b3c43cfcf8df04b571afb25ac3ec2caa0c16a68d14b7dd2b03be74c0804d7d76e27192019bdff384451666ae4ba88f111690aa7d5fd143d7d1de0
7
+ data.tar.gz: 4357bf26040d884d7c4eccc0de7bbc6c975469e71488ab79b9c550aac37d39235793f63b3ed995e77c3d8013f73be861d4632f1ccf97bb17a636688c29d234bd
@@ -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
@@ -28,6 +28,8 @@ module Ddr
28
28
 
29
29
  property :display_format, predicate: Ddr::Vocab::Display.format
30
30
 
31
+ property :research_help_contact, predicate: Ddr::Vocab::Contact.assistance
32
+
31
33
  end
32
34
  end
33
35
  end
@@ -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
@@ -11,6 +11,7 @@ require 'hydra/validations'
11
11
 
12
12
  require 'ddr/actions'
13
13
  require 'ddr/auth'
14
+ require 'ddr/contacts'
14
15
  require 'ddr/datastreams'
15
16
  require 'ddr/derivatives'
16
17
  require 'ddr/events'
@@ -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
@@ -11,21 +11,22 @@ module Ddr
11
11
 
12
12
  def index_fields
13
13
  fields = {
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
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
@@ -1,5 +1,5 @@
1
1
  module Ddr
2
2
  module Models
3
- VERSION = "2.0.0.pre.4"
3
+ VERSION = "2.0.0.pre.5"
4
4
  end
5
5
  end
data/lib/ddr/vocab.rb CHANGED
@@ -13,6 +13,7 @@ module Ddr
13
13
  end
14
14
 
15
15
  autoload :Asset
16
+ autoload :Contact
16
17
  autoload :Display
17
18
  autoload :DukeTerms
18
19
  autoload :RDFVocabularyParser
@@ -0,0 +1,11 @@
1
+ module Ddr
2
+ module Vocab
3
+ class Contact < RDF::StrictVocabulary("http://repository.lib.duke.edu/vocab/contact/")
4
+
5
+ property "assistance",
6
+ label: "Research Assistance",
7
+ comment: "Contact for research assistance with this object."
8
+
9
+ end
10
+ end
11
+ end
@@ -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
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.4.6
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