active-fedora 9.0.0.rc3 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +1054 -0
  3. data/active-fedora.gemspec +1 -1
  4. data/config/predicate_mappings.yml +2 -2
  5. data/lib/active_fedora.rb +3 -0
  6. data/lib/active_fedora/attached_files.rb +31 -14
  7. data/lib/active_fedora/base.rb +2 -0
  8. data/lib/active_fedora/caching_connection.rb +80 -0
  9. data/lib/active_fedora/callbacks.rb +13 -14
  10. data/lib/active_fedora/core.rb +9 -17
  11. data/lib/active_fedora/errors.rb +1 -1
  12. data/lib/active_fedora/fedora.rb +5 -1
  13. data/lib/active_fedora/file.rb +42 -39
  14. data/lib/active_fedora/ldp_cache.rb +46 -0
  15. data/lib/active_fedora/ldp_resource_service.rb +27 -0
  16. data/lib/active_fedora/loadable_from_json.rb +3 -1
  17. data/lib/active_fedora/log_subscriber.rb +38 -0
  18. data/lib/active_fedora/persistence.rb +22 -12
  19. data/lib/active_fedora/predicates.rb +3 -3
  20. data/lib/active_fedora/railtie.rb +3 -0
  21. data/lib/active_fedora/rdf.rb +0 -1
  22. data/lib/active_fedora/relation/finder_methods.rb +2 -3
  23. data/lib/active_fedora/validations.rb +1 -3
  24. data/lib/active_fedora/version.rb +1 -1
  25. data/lib/generators/active_fedora/config/solr/templates/jetty.yml +3 -2
  26. data/spec/fixtures/rails_root/config/predicate_mappings.yml +2 -2
  27. data/spec/integration/associations_spec.rb +19 -19
  28. data/spec/integration/attached_files_spec.rb +3 -3
  29. data/spec/integration/belongs_to_association_spec.rb +9 -9
  30. data/spec/integration/caching_spec.rb +59 -0
  31. data/spec/integration/collection_association_spec.rb +1 -1
  32. data/spec/integration/fedora_solr_sync_spec.rb +2 -2
  33. data/spec/integration/file_spec.rb +41 -43
  34. data/spec/integration/has_and_belongs_to_many_associations_spec.rb +8 -8
  35. data/spec/integration/has_many_associations_spec.rb +15 -15
  36. data/spec/integration/nested_attribute_spec.rb +2 -2
  37. data/spec/integration/relation_spec.rb +1 -1
  38. data/spec/integration/solr_instance_loader_spec.rb +2 -1
  39. data/spec/samples/special_thing.rb +2 -2
  40. data/spec/spec_helper.rb +1 -0
  41. data/spec/unit/attached_files_spec.rb +41 -5
  42. data/spec/unit/attributes_spec.rb +1 -1
  43. data/spec/unit/change_set_spec.rb +1 -1
  44. data/spec/unit/code_configurator_spec.rb +3 -3
  45. data/spec/unit/core_spec.rb +16 -1
  46. data/spec/unit/file_spec.rb +14 -10
  47. data/spec/unit/has_and_belongs_to_many_association_spec.rb +6 -6
  48. data/spec/unit/has_many_association_spec.rb +4 -4
  49. data/spec/unit/indexing_service_spec.rb +2 -2
  50. data/spec/unit/ldp_resource_spec.rb +17 -0
  51. data/spec/unit/logger_spec.rb +1 -1
  52. data/spec/unit/persistence_spec.rb +24 -20
  53. data/spec/unit/predicates_spec.rb +7 -7
  54. data/spec/unit/sparql_insert_spec.rb +2 -2
  55. data/spec/unit/validations_spec.rb +12 -2
  56. metadata +13 -8
  57. data/lib/active_fedora/rdf/rels_ext.rb +0 -26
@@ -10,7 +10,7 @@ describe ActiveFedora::SparqlInsert do
10
10
  end
11
11
 
12
12
  class Book < ActiveFedora::Base
13
- belongs_to :library, predicate: ActiveFedora::RDF::RelsExt.hasConstituent
13
+ belongs_to :library, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.hasConstituent
14
14
  property :title, predicate: ::RDF::DC.title
15
15
  end
16
16
 
@@ -26,7 +26,7 @@ describe ActiveFedora::SparqlInsert do
26
26
 
27
27
 
28
28
  it "should return the string" do
29
- expect(subject.build).to eq "DELETE { <> <http://fedora.info/definitions/v4/rels-ext#hasConstituent> ?change . }\n WHERE { <> <http://fedora.info/definitions/v4/rels-ext#hasConstituent> ?change . } ;\nDELETE { <> <http://purl.org/dc/terms/title> ?change . }\n WHERE { <> <http://purl.org/dc/terms/title> ?change . } ;\nINSERT { \n<> <http://fedora.info/definitions/v4/rels-ext#hasConstituent> <http://localhost:8983/fedora/rest/test/foo> .\n<> <http://purl.org/dc/terms/title> \"bar\" .\n}\n WHERE { }"
29
+ expect(subject.build).to eq "DELETE { <> <info:fedora/fedora-system:def/relations-external#hasConstituent> ?change . }\n WHERE { <> <info:fedora/fedora-system:def/relations-external#hasConstituent> ?change . } ;\nDELETE { <> <http://purl.org/dc/terms/title> ?change . }\n WHERE { <> <http://purl.org/dc/terms/title> ?change . } ;\nINSERT { \n<> <info:fedora/fedora-system:def/relations-external#hasConstituent> <http://localhost:8983/fedora/rest/test/foo> .\n<> <http://purl.org/dc/terms/title> \"bar\" .\n}\n WHERE { }"
30
30
  end
31
31
  end
32
32
  end
@@ -12,7 +12,7 @@ describe ActiveFedora::Base do
12
12
 
13
13
  validates_presence_of :fubar
14
14
  validates_length_of :swank, :minimum=>5
15
-
15
+
16
16
  end
17
17
  end
18
18
 
@@ -26,7 +26,7 @@ describe ActiveFedora::Base do
26
26
  before do
27
27
  subject.attributes={ fubar: ['here'], swank:'long enough'}
28
28
  end
29
-
29
+
30
30
  it { should be_valid}
31
31
  end
32
32
  describe "an invalid object" do
@@ -44,4 +44,14 @@ describe ActiveFedora::Base do
44
44
  it { should be_required(:fubar) }
45
45
  it { should_not be_required(:swank) }
46
46
  end
47
+
48
+
49
+ describe "#save!" do
50
+ before { allow(subject).to receive(:create_record) } #prevent saving to Fedora/Solr
51
+
52
+ it "should validate only once" do
53
+ expect(subject).to receive(:perform_validations).once.and_return(true)
54
+ subject.save!
55
+ end
56
+ end
47
57
  end
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.0.0.rc3
4
+ version: 9.0.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-01-16 00:00:00.000000000 Z
13
+ date: 2015-01-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -130,14 +130,14 @@ dependencies:
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: 0.2.0
133
+ version: 0.2.1
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: 0.2.0
140
+ version: 0.2.1
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rdf-ldp
143
143
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +318,7 @@ files:
318
318
  - lib/active_fedora/attributes/serializers.rb
319
319
  - lib/active_fedora/autosave_association.rb
320
320
  - lib/active_fedora/base.rb
321
+ - lib/active_fedora/caching_connection.rb
321
322
  - lib/active_fedora/callbacks.rb
322
323
  - lib/active_fedora/change_set.rb
323
324
  - lib/active_fedora/cleaner.rb
@@ -337,9 +338,12 @@ files:
337
338
  - lib/active_fedora/fixity_service.rb
338
339
  - lib/active_fedora/indexing.rb
339
340
  - lib/active_fedora/indexing_service.rb
341
+ - lib/active_fedora/ldp_cache.rb
340
342
  - lib/active_fedora/ldp_resource.rb
343
+ - lib/active_fedora/ldp_resource_service.rb
341
344
  - lib/active_fedora/loadable_from_json.rb
342
345
  - lib/active_fedora/locale/en.yml
346
+ - lib/active_fedora/log_subscriber.rb
343
347
  - lib/active_fedora/model.rb
344
348
  - lib/active_fedora/nested_attributes.rb
345
349
  - lib/active_fedora/nom_datastream.rb
@@ -364,7 +368,6 @@ files:
364
368
  - lib/active_fedora/rdf/project_hydra.rb
365
369
  - lib/active_fedora/rdf/rdf_datastream.rb
366
370
  - lib/active_fedora/rdf/rdfxml_datastream.rb
367
- - lib/active_fedora/rdf/rels_ext.rb
368
371
  - lib/active_fedora/reflection.rb
369
372
  - lib/active_fedora/relation.rb
370
373
  - lib/active_fedora/relation/calculations.rb
@@ -436,6 +439,7 @@ files:
436
439
  - spec/integration/base_spec.rb
437
440
  - spec/integration/belongs_to_association_spec.rb
438
441
  - spec/integration/bug_spec.rb
442
+ - spec/integration/caching_spec.rb
439
443
  - spec/integration/collection_association_spec.rb
440
444
  - spec/integration/complex_rdf_datastream_spec.rb
441
445
  - spec/integration/datastream_rdf_nested_attributes_spec.rb
@@ -507,6 +511,7 @@ files:
507
511
  - spec/unit/indexing_service_spec.rb
508
512
  - spec/unit/indexing_spec.rb
509
513
  - spec/unit/inheritance_spec.rb
514
+ - spec/unit/ldp_resource_spec.rb
510
515
  - spec/unit/logger_spec.rb
511
516
  - spec/unit/model_spec.rb
512
517
  - spec/unit/nom_datastream_spec.rb
@@ -550,12 +555,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
550
555
  version: 1.9.3
551
556
  required_rubygems_version: !ruby/object:Gem::Requirement
552
557
  requirements:
553
- - - ">"
558
+ - - ">="
554
559
  - !ruby/object:Gem::Version
555
- version: 1.3.1
560
+ version: '0'
556
561
  requirements: []
557
562
  rubyforge_project:
558
- rubygems_version: 2.4.3
563
+ rubygems_version: 2.2.2
559
564
  signing_key:
560
565
  specification_version: 4
561
566
  summary: A convenience libary for manipulating documents in the Fedora Repository.
@@ -1,26 +0,0 @@
1
- require 'rdf'
2
- class ActiveFedora::RDF::RelsExt < RDF::StrictVocabulary("http://fedora.info/definitions/v4/rels-ext#")
3
- property :hasAnnotation
4
- property :hasCollectionMember
5
- property :hasConstituent
6
- property :hasDependent
7
- property :hasDerivation
8
- property :hasDescription
9
- property :hasEquivalent
10
- property :hasExternalContent
11
- property :hasMember
12
- property :hasMetadata
13
- property :hasPart
14
- property :hasSubset
15
- property :isAnnotationOf
16
- property :isConstituentOf
17
- property :isDependentOf
18
- property :isDerivationOf
19
- property :isDescriptionOf
20
- property :isExternalContentOf
21
- property :isMemberOf
22
- property :isMemberOfCollection
23
- property :isMetadataFor
24
- property :isPartOf
25
- property :isSubsetOf
26
- end