active-fedora 9.2.0.rc2 → 9.2.0

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: bada647c029b7bff0f7068d8226fe256996f091a
4
- data.tar.gz: 1c240deeaff193cdca424a8ec0d9c01ab2aefd13
3
+ metadata.gz: d06c266076a65780ab8db396bf9940d5c2350be2
4
+ data.tar.gz: dc1ce79ba0ef5591a8fa580a77e70caa2785bbc5
5
5
  SHA512:
6
- metadata.gz: e402d06c32089846dc47542963fccdcf38e512e10c203fb27220e6a7df1e770c805a9aa8435f50729abec853fea9fc83263c20ae885530132236a96cd9024376
7
- data.tar.gz: ef787677ed7601618bdf0c989f2298fff0bf43da788a01f5ac94031f296e1f7e1ee2bb8bf0c3b436a37c30d4e169cce19474520529a1957179a33610510c8cf3
6
+ metadata.gz: 54d49974e1ac5efc17a321e51455d0778e2712055acec83bd1efbf424f8c9302d98e8d4186d8cb1fb095d225e1a5075ac9549f0172fd13669423e170d0d6eb11
7
+ data.tar.gz: 89731055f7e3b7f50873d26e9905926a4bd86f2da837a5e2903f017a52099750857de5a2ec3692641febc648023d3eb0299bd6281ff35f604276ba517702e952
@@ -1,3 +1,9 @@
1
+ v9.2.0
2
+ 2015-07-08: Add comments to FedoraAttributes [ci skip] [Justin Coyne]
3
+
4
+ 2015-07-01: Remove has_many_versions This no longer does anything meaninful, so
5
+ it has been removed to prevent confusion. [Justin Coyne]
6
+
1
7
  v9.2.0.rc2
2
8
  2015-06-30: Allow the FixityService to accept an RDF::URI [Justin Coyne]
3
9
 
@@ -6,6 +6,8 @@ module ActiveFedora
6
6
  included do
7
7
  include ActiveTriples::Properties
8
8
  include ActiveTriples::Reflection
9
+
10
+ # get_values() is called by ActiveTriples in the PropertyBuilder
9
11
  delegate :rdf_subject, :get_values, :type, to: :resource
10
12
 
11
13
  property :has_model, predicate: ActiveFedora::RDF::Fcrepo::Model.hasModel
@@ -1,3 +1,3 @@
1
1
  module ActiveFedora
2
- VERSION = "9.2.0.rc2"
2
+ VERSION = "9.2.0"
3
3
  end
@@ -1,6 +1,7 @@
1
1
  module ActiveFedora
2
2
  module Versionable
3
3
  extend ActiveSupport::Concern
4
+ extend Deprecation
4
5
 
5
6
  included do
6
7
  class_attribute :versionable
@@ -8,7 +9,8 @@ module ActiveFedora
8
9
 
9
10
  module ClassMethods
10
11
  def has_many_versions
11
- self.versionable = true
12
+ Deprecation.warn Versionable, "has_many_versions is deprecated and will be removed in ActiveFedora 11."
13
+ # self.versionable = true
12
14
  end
13
15
  end
14
16
 
@@ -26,7 +28,7 @@ module ActiveFedora
26
28
  if reload
27
29
  @versions = ActiveFedora::VersionsGraph.new << ::RDF::Reader.for(:ttl).new(versions_request)
28
30
  else
29
- @versions ||= ActiveFedora::VersionsGraph.new << ::RDF::Reader.for(:ttl).new(versions_request)
31
+ @versions ||= ActiveFedora::VersionsGraph.new << ::RDF::Reader.for(:ttl).new(versions_request)
30
32
  end
31
33
  end
32
34
 
@@ -36,10 +38,9 @@ module ActiveFedora
36
38
  resp.success?
37
39
  end
38
40
 
39
- # This method does not rely on the internal versionable flag of the object, instead
40
- # it queries Fedora directly to figure out if there are versions for the resource.
41
+ # Queries Fedora to figure out if there are versions for the resource.
41
42
  def has_versions?
42
- ActiveFedora.fedora.connection.head(versions_uri)
43
+ ActiveFedora.fedora.connection.head(versions_uri)
43
44
  true
44
45
  rescue Ldp::NotFound
45
46
  false
@@ -5,22 +5,21 @@ describe ActiveFedora::Base do
5
5
  class PageImage < ActiveFedora::Base
6
6
  directly_contains :files, has_member_relation: ::RDF::URI.new("http://example.com/hasFiles"), class_name:"FileWithMetadata"
7
7
  directly_contains_one :primary_file, through: :files, type: ::RDF::URI.new("http://example.com/primaryFile"), class_name:"FileWithMetadata"
8
- directly_contains_one :special_versioned_file, through: :files, type: ::RDF::URI.new("http://example.com/featuredFile"), class_name:'VersionedFileWithMetadata'
8
+ directly_contains_one :alternative_file, through: :files, type: ::RDF::URI.new("http://example.com/featuredFile"), class_name:'AlternativeFileWithMetadata'
9
9
  end
10
10
 
11
11
  class FileWithMetadata < ActiveFedora::File
12
12
  include ActiveFedora::WithMetadata
13
13
  end
14
- class VersionedFileWithMetadata < ActiveFedora::File
14
+ class AlternativeFileWithMetadata < ActiveFedora::File
15
15
  include ActiveFedora::WithMetadata
16
- has_many_versions
17
16
  end
18
17
  end
19
18
 
20
19
  after do
21
20
  Object.send(:remove_const, :PageImage)
22
21
  Object.send(:remove_const, :FileWithMetadata)
23
- Object.send(:remove_const, :VersionedFileWithMetadata)
22
+ Object.send(:remove_const, :AlternativeFileWithMetadata)
24
23
  end
25
24
 
26
25
  let(:page_image) { PageImage.create }
@@ -28,7 +27,7 @@ describe ActiveFedora::Base do
28
27
 
29
28
  let(:a_file) { page_image.files.build }
30
29
  let(:primary_file) { page_image.build_primary_file }
31
- let(:special_versioned_file) { page_image.build_special_versioned_file }
30
+ let(:alternative_file) { page_image.build_alternative_file }
32
31
  let(:primary_sub_image) { page_image.build_primary_sub_image }
33
32
 
34
33
 
@@ -70,13 +69,13 @@ describe ActiveFedora::Base do
70
69
  context "if class_name is set" do
71
70
  before do
72
71
  a_file.content = "I'm a file"
73
- special_versioned_file.content = "I am too"
72
+ alternative_file.content = "I am too"
74
73
  page_image.save!
75
74
  end
76
- subject { reloaded_page_image.special_versioned_file }
75
+ subject { reloaded_page_image.alternative_file }
77
76
  it "uses the specified class to load objects" do
78
- expect(subject).to eq special_versioned_file
79
- expect(subject).to be_instance_of VersionedFileWithMetadata
77
+ expect(subject).to eq alternative_file
78
+ expect(subject).to be_instance_of AlternativeFileWithMetadata
80
79
  end
81
80
  end
82
81
  end
@@ -1,9 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
+ describe "deprecated behavior" do
4
+ it "has a warning" do
5
+ expect(Deprecation).to receive(:warn)
6
+ class WithVersions < ActiveFedora::Base
7
+ has_many_versions
8
+ end
9
+ end
10
+
11
+ after do
12
+ Object.send(:remove_const, :WithVersions)
13
+ end
14
+ end
15
+
3
16
  describe "a versionable class" do
4
17
  before do
5
18
  class WithVersions < ActiveFedora::Base
6
- has_many_versions
7
19
  property :title, predicate: ::RDF::DC.title
8
20
  end
9
21
  end
@@ -16,8 +28,6 @@ describe "a versionable class" do
16
28
 
17
29
  let(:current_year) { DateTime.now.year.to_s }
18
30
 
19
- it { is_expected.to be_versionable }
20
-
21
31
  describe 'sorting versions' do
22
32
  before do
23
33
  allow(subject).to receive(:fedora_versions) { versions }
@@ -116,15 +126,14 @@ describe "a versionable class" do
116
126
  end
117
127
  end
118
128
 
119
- describe "a versionable rdf datastream" do
129
+ describe "a versionable rdf file" do
120
130
  before(:all) do
121
131
  class VersionableDatastream < ActiveFedora::NtriplesRDFDatastream
122
- has_many_versions
123
132
  property :title, predicate: ::RDF::DC.title
124
133
  end
125
134
 
126
135
  class MockAFBase < ActiveFedora::Base
127
- has_metadata "descMetadata", type: VersionableDatastream, autocreate: true
136
+ contains "descMetadata", class_name: 'VersionableDatastream', autocreate: true
128
137
  end
129
138
  end
130
139
 
@@ -144,11 +153,7 @@ describe "a versionable rdf datastream" do
144
153
  context "that exists in the repository" do
145
154
  let(:test_object) { MockAFBase.create }
146
155
 
147
- it "should be versionable" do
148
- expect(subject).to be_versionable
149
- end
150
-
151
- context "before creating the datastream" do
156
+ context "before creating the file" do
152
157
  it "should not have versions" do
153
158
  expect(subject.versions).to be_empty
154
159
  end
@@ -157,7 +162,7 @@ describe "a versionable rdf datastream" do
157
162
  end
158
163
  end
159
164
 
160
- context "after creating the datastream" do
165
+ context "after creating the file" do
161
166
  before do
162
167
  subject.title = "Greetings Earthlings"
163
168
  subject.save
@@ -215,11 +220,11 @@ describe "a versionable rdf datastream" do
215
220
  expect(subject.versions.all.size).to eq 2
216
221
  end
217
222
 
218
- it "should load the restored datastream's content" do
223
+ it "should load the restored file's content" do
219
224
  expect(subject.title).to eql(["Greetings Earthlings"])
220
225
  end
221
226
 
222
- it "should be the same size as the original datastream" do
227
+ it "should be the same size as the original file" do
223
228
  expect(subject.size).to eq @original_size
224
229
  end
225
230
 
@@ -249,10 +254,9 @@ describe "a versionable rdf datastream" do
249
254
  end
250
255
  end
251
256
 
252
- describe "a versionable OM datastream" do
257
+ describe "a versionable OM file" do
253
258
  before(:all) do
254
259
  class VersionableDatastream < ActiveFedora::OmDatastream
255
- has_many_versions
256
260
  set_terminology do |t|
257
261
  t.root(path: "foo")
258
262
  t.title
@@ -260,7 +264,7 @@ describe "a versionable OM datastream" do
260
264
  end
261
265
 
262
266
  class MockAFBase < ActiveFedora::Base
263
- has_metadata "descMetadata", type: VersionableDatastream, autocreate: true
267
+ contains "descMetadata", class_name: 'VersionableDatastream', autocreate: true
264
268
  end
265
269
  end
266
270
 
@@ -276,11 +280,7 @@ describe "a versionable OM datastream" do
276
280
  context "that exists in the repository" do
277
281
  let(:test_object) { MockAFBase.create }
278
282
 
279
- it "should be versionable" do
280
- expect(subject).to be_versionable
281
- end
282
-
283
- context "before creating the datastream" do
283
+ context "before creating the file" do
284
284
  it "should not have versions" do
285
285
  expect(subject.versions).to be_empty
286
286
  end
@@ -289,7 +289,7 @@ describe "a versionable OM datastream" do
289
289
  end
290
290
  end
291
291
 
292
- context "after creating the datastream" do
292
+ context "after creating the file" do
293
293
  before do
294
294
  subject.title = "Greetings Earthlings"
295
295
  subject.save
@@ -349,11 +349,11 @@ describe "a versionable OM datastream" do
349
349
  expect(subject.versions.all.size).to eq 2
350
350
  end
351
351
 
352
- it "should load the restored datastream's content" do
352
+ it "should load the restored file's content" do
353
353
  expect(subject.title).to eql(["Greetings Earthlings"])
354
354
  end
355
355
 
356
- it "should be the same size as the original datastream" do
356
+ it "should be the same size as the original file" do
357
357
  expect(subject.size).to eq @original_size
358
358
  end
359
359
 
@@ -383,14 +383,13 @@ describe "a versionable OM datastream" do
383
383
  end
384
384
  end
385
385
 
386
- describe "a versionable binary datastream" do
386
+ describe "a versionable binary file" do
387
387
  before(:all) do
388
388
  class BinaryDatastream < ActiveFedora::File
389
- has_many_versions
390
389
  end
391
390
 
392
391
  class MockAFBase < ActiveFedora::Base
393
- has_file_datastream "content", type: BinaryDatastream, autocreate: true
392
+ contains "content", class_name: 'BinaryDatastream', autocreate: true
394
393
  end
395
394
  end
396
395
 
@@ -406,17 +405,13 @@ describe "a versionable binary datastream" do
406
405
  context "that exists in the repository" do
407
406
  let(:test_object) { MockAFBase.create }
408
407
 
409
- it "should be versionable" do
410
- expect(subject).to be_versionable
411
- end
412
-
413
- context "before creating the datastream" do
408
+ context "before creating the file" do
414
409
  it "should not have versions" do
415
410
  expect(subject.versions).to be_empty
416
411
  end
417
412
  end
418
413
 
419
- context "after creating the datastream" do
414
+ context "after creating the file" do
420
415
  let(:first_file) { File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" )) }
421
416
  let(:first_name) { "dino.jpg" }
422
417
  before do
@@ -484,11 +479,11 @@ describe "a versionable binary datastream" do
484
479
  expect(subject.versions.all.size).to eq 2
485
480
  end
486
481
 
487
- it "should load the restored datastream's content" do
482
+ it "should load the restored file's content" do
488
483
  expect(subject.content.size).to eq first_file.size
489
484
  end
490
485
 
491
- it "should load the restored datastream's original name" do
486
+ it "should load the restored file's original name" do
492
487
  expect(subject.original_name).to eql(first_name)
493
488
  end
494
489
 
@@ -517,19 +512,18 @@ describe "a versionable binary datastream" do
517
512
  end
518
513
  end
519
514
 
520
- describe "a non-versionable resource" do
521
- before(:all) do
522
- class NotVersionableWithVersions < ActiveFedora::Base
523
- # explicitly don't call has_many_versions
515
+ describe "an ActiveFedora::Base" do
516
+ before do
517
+ class TestBase < ActiveFedora::Base
524
518
  property :title, predicate: ::RDF::DC.title
525
519
  end
526
520
  end
527
521
 
528
- after(:all) do
529
- Object.send(:remove_const, :NotVersionableWithVersions)
522
+ after do
523
+ Object.send(:remove_const, :TestBase)
530
524
  end
531
525
 
532
- subject { NotVersionableWithVersions.new }
526
+ subject { TestBase.new }
533
527
 
534
528
  context "saved with no versions" do
535
529
  it "should not have versions" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.0.rc2
4
+ version: 9.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-07-01 00:00:00.000000000 Z
13
+ date: 2015-07-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -598,9 +598,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
598
598
  version: 1.9.3
599
599
  required_rubygems_version: !ruby/object:Gem::Requirement
600
600
  requirements:
601
- - - ">"
601
+ - - ">="
602
602
  - !ruby/object:Gem::Version
603
- version: 1.3.1
603
+ version: '0'
604
604
  requirements: []
605
605
  rubyforge_project:
606
606
  rubygems_version: 2.4.8