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 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