active-fedora 9.5.0 → 9.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +245 -0
- data/.travis.yml +8 -7
- data/Gemfile +2 -0
- data/History.txt +51 -0
- data/Rakefile +7 -6
- data/active-fedora.gemspec +3 -1
- data/lib/active_fedora.rb +19 -20
- data/lib/active_fedora/association_hash.rb +19 -24
- data/lib/active_fedora/association_relation.rb +3 -3
- data/lib/active_fedora/associations.rb +177 -182
- data/lib/active_fedora/associations/association.rb +15 -22
- data/lib/active_fedora/associations/association_scope.rb +15 -16
- data/lib/active_fedora/associations/basic_contains_association.rb +24 -27
- data/lib/active_fedora/associations/belongs_to_association.rb +3 -4
- data/lib/active_fedora/associations/builder/association.rb +17 -18
- data/lib/active_fedora/associations/builder/belongs_to.rb +1 -1
- data/lib/active_fedora/associations/builder/contains.rb +3 -5
- data/lib/active_fedora/associations/builder/directly_contains.rb +1 -2
- data/lib/active_fedora/associations/builder/directly_contains_one.rb +17 -21
- data/lib/active_fedora/associations/builder/has_and_belongs_to_many.rb +1 -2
- data/lib/active_fedora/associations/builder/has_many.rb +9 -10
- data/lib/active_fedora/associations/builder/indirectly_contains.rb +11 -4
- data/lib/active_fedora/associations/builder/property.rb +0 -3
- data/lib/active_fedora/associations/builder/singular_association.rb +1 -1
- data/lib/active_fedora/associations/builder/singular_property.rb +0 -2
- data/lib/active_fedora/associations/collection_association.rb +32 -41
- data/lib/active_fedora/associations/collection_proxy.rb +8 -10
- data/lib/active_fedora/associations/contained_finder.rb +15 -16
- data/lib/active_fedora/associations/contains_association.rb +1 -3
- data/lib/active_fedora/associations/delete_proxy.rb +6 -7
- data/lib/active_fedora/associations/directly_contains_association.rb +7 -9
- data/lib/active_fedora/associations/directly_contains_one_association.rb +46 -49
- data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +12 -18
- data/lib/active_fedora/associations/has_many_association.rb +21 -22
- data/lib/active_fedora/associations/id_composite.rb +6 -6
- data/lib/active_fedora/associations/indirectly_contains_association.rb +23 -9
- data/lib/active_fedora/associations/null_validator.rb +1 -1
- data/lib/active_fedora/associations/rdf.rb +47 -52
- data/lib/active_fedora/associations/record_composite.rb +1 -1
- data/lib/active_fedora/associations/singular_association.rb +7 -12
- data/lib/active_fedora/associations/singular_rdf.rb +0 -2
- data/lib/active_fedora/attached_files.rb +86 -81
- data/lib/active_fedora/attribute_methods.rb +11 -10
- data/lib/active_fedora/attribute_methods/dirty.rb +0 -1
- data/lib/active_fedora/attribute_methods/read.rb +12 -12
- data/lib/active_fedora/attribute_methods/write.rb +11 -11
- data/lib/active_fedora/attributes.rb +160 -156
- data/lib/active_fedora/attributes/active_triple_attribute.rb +0 -2
- data/lib/active_fedora/attributes/node_config.rb +1 -2
- data/lib/active_fedora/attributes/om_attribute.rb +1 -4
- data/lib/active_fedora/attributes/primary_key.rb +0 -2
- data/lib/active_fedora/attributes/property_builder.rb +2 -3
- data/lib/active_fedora/attributes/rdf_datastream_attribute.rb +23 -26
- data/lib/active_fedora/attributes/serializers.rb +7 -9
- data/lib/active_fedora/attributes/stream_attribute.rb +4 -7
- data/lib/active_fedora/autosave_association.rb +156 -155
- data/lib/active_fedora/base.rb +1 -2
- data/lib/active_fedora/caching_connection.rb +5 -5
- data/lib/active_fedora/callbacks.rb +12 -12
- data/lib/active_fedora/change_set.rb +13 -16
- data/lib/active_fedora/checksum.rb +12 -0
- data/lib/active_fedora/clean_connection.rb +20 -20
- data/lib/active_fedora/cleaner.rb +7 -11
- data/lib/active_fedora/config.rb +2 -3
- data/lib/active_fedora/containers/container.rb +3 -7
- data/lib/active_fedora/core.rb +43 -47
- data/lib/active_fedora/datastreams/nokogiri_datastreams.rb +22 -26
- data/lib/active_fedora/delegated_attribute.rb +1 -3
- data/lib/active_fedora/errors.rb +1 -2
- data/lib/active_fedora/fedora.rb +1 -2
- data/lib/active_fedora/fedora_attributes.rb +15 -12
- data/lib/active_fedora/file.rb +25 -22
- data/lib/active_fedora/file/attributes.rb +10 -7
- data/lib/active_fedora/file/streaming.rb +2 -4
- data/lib/active_fedora/file_configurator.rb +33 -34
- data/lib/active_fedora/file_path_builder.rb +5 -2
- data/lib/active_fedora/files_hash.rb +1 -1
- data/lib/active_fedora/fixity_service.rb +5 -5
- data/lib/active_fedora/identifiable.rb +5 -9
- data/lib/active_fedora/inbound_relation_connection.rb +5 -5
- data/lib/active_fedora/indexers/global_indexer.rb +4 -7
- data/lib/active_fedora/indexers/null_indexer.rb +1 -0
- data/lib/active_fedora/indexing.rb +45 -48
- data/lib/active_fedora/indexing/map.rb +1 -2
- data/lib/active_fedora/indexing_service.rb +27 -19
- data/lib/active_fedora/inheritable_accessors.rb +1 -0
- data/lib/active_fedora/ldp_cache.rb +4 -6
- data/lib/active_fedora/ldp_resource.rb +2 -2
- data/lib/active_fedora/ldp_resource_service.rb +1 -1
- data/lib/active_fedora/loadable_from_json.rb +49 -24
- data/lib/active_fedora/log_subscriber.rb +3 -5
- data/lib/active_fedora/model.rb +12 -15
- data/lib/active_fedora/nested_attributes.rb +72 -77
- data/lib/active_fedora/nom_datastream.rb +11 -13
- data/lib/active_fedora/om_datastream.rb +21 -28
- data/lib/active_fedora/pathing.rb +1 -2
- data/lib/active_fedora/persistence.rb +82 -84
- data/lib/active_fedora/predicates.rb +23 -25
- data/lib/active_fedora/property.rb +4 -6
- data/lib/active_fedora/qualified_dublin_core_datastream.rb +91 -98
- data/lib/active_fedora/query_result_builder.rb +11 -17
- data/lib/active_fedora/querying.rb +3 -4
- data/lib/active_fedora/railtie.rb +1 -2
- data/lib/active_fedora/rdf/datastream_indexing.rb +9 -14
- data/lib/active_fedora/rdf/fcrepo.rb +249 -250
- data/lib/active_fedora/rdf/field_map.rb +4 -7
- data/lib/active_fedora/rdf/field_map_entry.rb +0 -2
- data/lib/active_fedora/rdf/indexing_service.rb +6 -7
- data/lib/active_fedora/rdf/ntriples_rdf_datastream.rb +0 -1
- data/lib/active_fedora/rdf/persistence.rb +4 -4
- data/lib/active_fedora/rdf/project_hydra.rb +7 -7
- data/lib/active_fedora/rdf/rdf_datastream.rb +12 -15
- data/lib/active_fedora/rdf/rdfxml_datastream.rb +2 -2
- data/lib/active_fedora/reflection.rb +68 -74
- data/lib/active_fedora/relation.rb +20 -27
- data/lib/active_fedora/relation/calculations.rb +2 -3
- data/lib/active_fedora/relation/delegation.rb +11 -11
- data/lib/active_fedora/relation/finder_methods.rb +109 -120
- data/lib/active_fedora/relation/merger.rb +1 -1
- data/lib/active_fedora/relation/query_methods.rb +0 -1
- data/lib/active_fedora/relation/spawn_methods.rb +0 -1
- data/lib/active_fedora/rspec_matchers.rb +1 -1
- data/lib/active_fedora/rspec_matchers/belong_to_associated_active_fedora_object_matcher.rb +2 -4
- data/lib/active_fedora/rspec_matchers/have_many_associated_active_fedora_objects_matcher.rb +2 -4
- data/lib/active_fedora/rspec_matchers/have_predicate_matcher.rb +2 -4
- data/lib/active_fedora/schema.rb +1 -1
- data/lib/active_fedora/schema_indexing_strategy.rb +2 -3
- data/lib/active_fedora/scoping.rb +0 -1
- data/lib/active_fedora/serialization.rb +1 -1
- data/lib/active_fedora/simple_datastream.rb +28 -36
- data/lib/active_fedora/solr_instance_loader.rb +32 -28
- data/lib/active_fedora/solr_query_builder.rb +5 -4
- data/lib/active_fedora/solr_service.rb +12 -13
- data/lib/active_fedora/sparql_insert.rb +28 -29
- data/lib/active_fedora/validations.rb +10 -10
- data/lib/active_fedora/version.rb +1 -1
- data/lib/active_fedora/versionable.rb +4 -5
- data/lib/active_fedora/versions_graph.rb +9 -14
- data/lib/active_fedora/with_metadata.rb +4 -5
- data/lib/active_fedora/with_metadata/metadata_node.rb +23 -33
- data/lib/generators/active_fedora/model/model_generator.rb +9 -10
- data/lib/tasks/active_fedora_dev.rake +9 -1
- data/spec/config_helper.rb +9 -9
- data/spec/integration/associations/rdf_spec.rb +0 -1
- data/spec/integration/associations_spec.rb +87 -103
- data/spec/integration/attached_files_spec.rb +17 -20
- data/spec/integration/attributes_spec.rb +4 -7
- data/spec/integration/autosave_association_spec.rb +1 -1
- data/spec/integration/base_spec.rb +116 -83
- data/spec/integration/belongs_to_association_spec.rb +25 -29
- data/spec/integration/bug_spec.rb +4 -5
- data/spec/integration/caching_spec.rb +5 -5
- data/spec/integration/clean_connection_spec.rb +1 -1
- data/spec/integration/collection_association_spec.rb +11 -11
- data/spec/integration/complex_rdf_datastream_spec.rb +24 -30
- data/spec/integration/contains_association_spec.rb +4 -4
- data/spec/integration/datastream_rdf_nested_attributes_spec.rb +32 -38
- data/spec/integration/date_time_properties_spec.rb +41 -0
- data/spec/integration/delete_all_spec.rb +4 -6
- data/spec/integration/direct_container_spec.rb +6 -10
- data/spec/integration/directly_contains_one_association_spec.rb +5 -8
- data/spec/integration/eradicate_spec.rb +5 -7
- data/spec/integration/fedora_solr_sync_spec.rb +3 -3
- data/spec/integration/field_to_solr_name_spec.rb +2 -3
- data/spec/integration/file_fixity_spec.rb +3 -5
- data/spec/integration/file_spec.rb +13 -19
- data/spec/integration/full_featured_model_spec.rb +82 -91
- data/spec/integration/has_and_belongs_to_many_associations_spec.rb +23 -25
- data/spec/integration/has_many_associations_spec.rb +302 -304
- data/spec/integration/indexing_spec.rb +10 -13
- data/spec/integration/indirect_container_spec.rb +47 -11
- data/spec/integration/json_serialization_spec.rb +6 -6
- data/spec/integration/model_spec.rb +5 -8
- data/spec/integration/nested_attribute_spec.rb +9 -10
- data/spec/integration/nested_hash_resources_spec.rb +4 -4
- data/spec/integration/ntriples_datastream_spec.rb +27 -30
- data/spec/integration/om_datastream_spec.rb +9 -10
- data/spec/integration/persistence_spec.rb +30 -14
- data/spec/integration/query_result_builder_spec.rb +9 -9
- data/spec/integration/rdf_nested_attributes_spec.rb +4 -5
- data/spec/integration/relation_delegation_spec.rb +11 -16
- data/spec/integration/relation_spec.rb +8 -8
- data/spec/integration/scoped_query_spec.rb +19 -23
- data/spec/integration/solr_instance_loader_spec.rb +61 -24
- data/spec/integration/versionable_spec.rb +340 -361
- data/spec/integration/with_metadata_spec.rb +3 -5
- data/spec/samples/hydra-mods_article_datastream.rb +159 -163
- data/spec/samples/models/mods_article.rb +2 -6
- data/spec/spec_helper.rb +4 -4
- data/spec/support/an_active_model.rb +3 -4
- data/spec/support/freeze_mocks.rb +1 -1
- data/spec/unit/active_fedora_spec.rb +51 -57
- data/spec/unit/association_hash_spec.rb +78 -0
- data/spec/unit/attached_files_spec.rb +76 -49
- data/spec/unit/attributes_spec.rb +116 -86
- data/spec/unit/base_active_model_spec.rb +16 -18
- data/spec/unit/base_cma_spec.rb +3 -6
- data/spec/unit/base_datastream_management_spec.rb +3 -4
- data/spec/unit/base_extra_spec.rb +4 -7
- data/spec/unit/base_spec.rb +25 -29
- data/spec/unit/builder/has_and_belongs_to_many_spec.rb +1 -1
- data/spec/unit/callback_spec.rb +5 -6
- data/spec/unit/change_set_spec.rb +3 -4
- data/spec/unit/checksum_spec.rb +25 -0
- data/spec/unit/code_configurator_spec.rb +12 -14
- data/spec/unit/collection_proxy_spec.rb +1 -5
- data/spec/unit/config_spec.rb +1 -2
- data/spec/unit/core/fedora_id_translator_spec.rb +3 -3
- data/spec/unit/core/fedora_uri_translator_spec.rb +4 -4
- data/spec/unit/core_spec.rb +34 -38
- data/spec/unit/file_configurator_spec.rb +96 -105
- data/spec/unit/file_path_builder_spec.rb +1 -1
- data/spec/unit/file_spec.rb +43 -18
- data/spec/unit/files_hash_spec.rb +7 -7
- data/spec/unit/fixity_service_spec.rb +2 -4
- data/spec/unit/forbidden_attributes_protection_spec.rb +2 -4
- data/spec/unit/has_and_belongs_to_many_association_spec.rb +12 -14
- data/spec/unit/has_many_association_spec.rb +3 -5
- data/spec/unit/indexers/global_indexer_spec.rb +4 -4
- data/spec/unit/indexing_service_spec.rb +2 -2
- data/spec/unit/indexing_spec.rb +5 -6
- data/spec/unit/inheritance_spec.rb +3 -5
- data/spec/unit/ldp_resource_spec.rb +3 -5
- data/spec/unit/loadable_from_json_spec.rb +1 -1
- data/spec/unit/logger_spec.rb +4 -5
- data/spec/unit/model_spec.rb +3 -4
- data/spec/unit/nom_datastream_spec.rb +10 -14
- data/spec/unit/ntriples_datastream_spec.rb +34 -35
- data/spec/unit/om_datastream_spec.rb +107 -113
- data/spec/unit/pathing_spec.rb +1 -2
- data/spec/unit/persistence_spec.rb +4 -5
- data/spec/unit/predicates_spec.rb +88 -93
- data/spec/unit/property_predicate_spec.rb +28 -33
- data/spec/unit/property_spec.rb +8 -11
- data/spec/unit/qualified_dublin_core_datastream_spec.rb +22 -27
- data/spec/unit/query_result_builder_spec.rb +10 -11
- data/spec/unit/query_spec.rb +53 -55
- data/spec/unit/rdf/indexing_service_spec.rb +16 -18
- data/spec/unit/rdf_datastream_spec.rb +10 -11
- data/spec/unit/rdf_resource_datastream_spec.rb +29 -35
- data/spec/unit/rdf_vocab_spec.rb +3 -3
- data/spec/unit/rdfxml_datastream_spec.rb +10 -11
- data/spec/unit/readonly_spec.rb +3 -3
- data/spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb +7 -11
- data/spec/unit/rspec_matchers/have_many_associated_active_fedora_objects_matcher_spec.rb +10 -14
- data/spec/unit/rspec_matchers/have_predicate_matcher_spec.rb +10 -14
- data/spec/unit/schema_indexing_strategy_spec.rb +5 -5
- data/spec/unit/serializers_spec.rb +2 -3
- data/spec/unit/simple_datastream_spec.rb +13 -18
- data/spec/unit/solr_config_options_spec.rb +5 -8
- data/spec/unit/solr_query_builder_spec.rb +6 -8
- data/spec/unit/solr_service_spec.rb +44 -44
- data/spec/unit/sparql_insert_spec.rb +2 -3
- data/spec/unit/validations_spec.rb +8 -10
- data/spec/unit/with_metadata/metadata_node_spec.rb +0 -2
- metadata +37 -7
- data/gemfiles/rails4.1.gemfile +0 -10
- data/gemfiles/rails4.2.gemfile +0 -10
- data/spec/samples/hydra-rights_metadata_datastream.rb +0 -211
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed9af0497efe12a99da6783dc8fb7aaaf2a1c130
|
4
|
+
data.tar.gz: cea4cf641038e3edcb68a53a8c174ddba6035c49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 957e5864be7ef7001eed269400e65e7ae95c5a421078ca56d0243638a51e8442df00e76037097603d894193fdef20edc965ce52d10781fef7ba97de9cf916d15
|
7
|
+
data.tar.gz: df5e24a7c95c5e06958e21fb246b0b66210b7523c576ed56356d646973c13bef029000e7f153f7ad60b2e1679f59e7724232e1001c57d4f58104ade1532b26b0
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,245 @@
|
|
1
|
+
require: rubocop-rspec
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
RunRailsCops: true
|
5
|
+
DisplayCopNames: true
|
6
|
+
Include:
|
7
|
+
- '**/Rakefile'
|
8
|
+
Exclude:
|
9
|
+
- 'script/**/*'
|
10
|
+
- 'vendor/**/*'
|
11
|
+
|
12
|
+
Lint/RescueException:
|
13
|
+
Exclude:
|
14
|
+
- 'lib/active_fedora/ldp_cache.rb'
|
15
|
+
|
16
|
+
Lint/HandleExceptions:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/unit/**/*'
|
19
|
+
- 'spec/integration/**/*'
|
20
|
+
- 'lib/active_fedora/cleaner.rb'
|
21
|
+
- 'lib/active_fedora/associations/builder/contains.rb'
|
22
|
+
|
23
|
+
Lint/AssignmentInCondition:
|
24
|
+
Enabled: false
|
25
|
+
|
26
|
+
Metrics/LineLength:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
Metrics/AbcSize:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
Metrics/BlockNesting:
|
33
|
+
Exclude:
|
34
|
+
- 'lib/active_fedora/autosave_association.rb'
|
35
|
+
- 'lib/active_fedora/associations/has_many_association.rb'
|
36
|
+
|
37
|
+
Metrics/CyclomaticComplexity:
|
38
|
+
Exclude:
|
39
|
+
- 'lib/active_fedora.rb'
|
40
|
+
- 'lib/active_fedora/reflection.rb'
|
41
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
42
|
+
- 'lib/active_fedora/query_result_builder.rb'
|
43
|
+
- 'lib/active_fedora/nested_attributes.rb'
|
44
|
+
- 'lib/active_fedora/autosave_association.rb'
|
45
|
+
- 'lib/active_fedora/associations/has_many_association.rb'
|
46
|
+
- 'lib/active_fedora/associations/has_and_belongs_to_many_association.rb'
|
47
|
+
- 'lib/active_fedora/associations/builder/indirectly_contains.rb'
|
48
|
+
- 'lib/active_fedora/associations/builder/directly_contains_one.rb'
|
49
|
+
- 'lib/active_fedora/file_configurator.rb'
|
50
|
+
- 'lib/active_fedora/file.rb'
|
51
|
+
- 'lib/active_fedora/datastreams/nokogiri_datastreams.rb'
|
52
|
+
|
53
|
+
Metrics/PerceivedComplexity:
|
54
|
+
Exclude:
|
55
|
+
- 'lib/active_fedora.rb'
|
56
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
57
|
+
- 'lib/active_fedora/nested_attributes.rb'
|
58
|
+
- 'lib/active_fedora/file_configurator.rb'
|
59
|
+
- 'lib/active_fedora/datastreams/nokogiri_datastreams.rb'
|
60
|
+
- 'lib/active_fedora/autosave_association.rb'
|
61
|
+
- 'lib/active_fedora/associations/has_many_association.rb'
|
62
|
+
- 'lib/active_fedora/associations/has_and_belongs_to_many_association.rb'
|
63
|
+
- 'lib/active_fedora/associations/builder/indirectly_contains.rb'
|
64
|
+
- 'lib/active_fedora/associations/builder/directly_contains_one.rb'
|
65
|
+
|
66
|
+
Metrics/ModuleLength:
|
67
|
+
Exclude:
|
68
|
+
- 'lib/active_fedora.rb'
|
69
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
70
|
+
- 'lib/active_fedora/persistence.rb'
|
71
|
+
- 'lib/active_fedora/attributes.rb'
|
72
|
+
- 'lib/active_fedora/autosave_association.rb'
|
73
|
+
- 'lib/active_fedora/attached_files.rb'
|
74
|
+
|
75
|
+
Metrics/ClassLength:
|
76
|
+
Exclude:
|
77
|
+
- 'spec/samples/hydra-mods_article_datastream.rb'
|
78
|
+
- 'lib/active_fedora/rdf/rdf_datastream.rb'
|
79
|
+
- 'lib/active_fedora/rdf/fcrepo.rb'
|
80
|
+
- 'lib/active_fedora/qualified_dublin_core_datastream.rb'
|
81
|
+
- 'lib/active_fedora/file_configurator.rb'
|
82
|
+
- 'lib/active_fedora/file.rb'
|
83
|
+
- 'lib/active_fedora/associations/collection_proxy.rb'
|
84
|
+
- 'lib/active_fedora/associations/collection_association.rb'
|
85
|
+
|
86
|
+
Metrics/MethodLength:
|
87
|
+
Enabled: false
|
88
|
+
|
89
|
+
Style/MethodName:
|
90
|
+
Exclude:
|
91
|
+
- 'lib/active_fedora/with_metadata.rb'
|
92
|
+
|
93
|
+
Style/AndOr:
|
94
|
+
Exclude:
|
95
|
+
- 'lib/active_fedora/associations/has_many_association.rb'
|
96
|
+
|
97
|
+
Style/AccessorMethodName:
|
98
|
+
Exclude:
|
99
|
+
- 'lib/active_fedora/with_metadata/metadata_node.rb'
|
100
|
+
- 'lib/active_fedora/predicates.rb'
|
101
|
+
- 'lib/active_fedora/fedora_attributes.rb'
|
102
|
+
- 'lib/active_fedora/attribute_methods/dirty.rb'
|
103
|
+
- 'lib/active_fedora/associations/has_many_association.rb'
|
104
|
+
- 'lib/active_fedora/associations/association.rb'
|
105
|
+
|
106
|
+
Style/PredicateName:
|
107
|
+
Exclude:
|
108
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
109
|
+
- 'lib/active_fedora/versionable.rb'
|
110
|
+
- 'lib/active_fedora/reflection.rb'
|
111
|
+
- 'lib/active_fedora/pathing.rb'
|
112
|
+
- 'lib/active_fedora/om_datastream.rb'
|
113
|
+
- 'lib/active_fedora/nested_attributes.rb'
|
114
|
+
- 'lib/active_fedora/clean_connection.rb'
|
115
|
+
- 'lib/active_fedora/attributes.rb'
|
116
|
+
- 'lib/active_fedora/file/attributes.rb'
|
117
|
+
- 'lib/active_fedora/attached_files.rb'
|
118
|
+
- 'lib/active_fedora/associations.rb'
|
119
|
+
- 'lib/active_fedora/association_hash.rb'
|
120
|
+
|
121
|
+
Style/GuardClause:
|
122
|
+
Exclude:
|
123
|
+
- 'lib/active_fedora/autosave_association.rb'
|
124
|
+
|
125
|
+
Style/TrivialAccessors:
|
126
|
+
Exclude:
|
127
|
+
- 'lib/active_fedora/reflection.rb'
|
128
|
+
- 'lib/active_fedora/attributes/node_config.rb'
|
129
|
+
- 'lib/active_fedora/associations/directly_contains_one_association.rb'
|
130
|
+
- 'lib/active_fedora/associations/belongs_to_association.rb'
|
131
|
+
- 'lib/active_fedora/associations/association.rb'
|
132
|
+
|
133
|
+
Style/EachWithObject:
|
134
|
+
Exclude:
|
135
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
136
|
+
|
137
|
+
Style/CaseEquality:
|
138
|
+
Exclude:
|
139
|
+
- 'lib/active_fedora/relation/finder_methods.rb'
|
140
|
+
|
141
|
+
Style/BlockDelimiters:
|
142
|
+
Exclude:
|
143
|
+
- 'spec/**/*'
|
144
|
+
|
145
|
+
Style/BlockEndNewline:
|
146
|
+
Exclude:
|
147
|
+
- 'spec/**/*'
|
148
|
+
|
149
|
+
Style/MultilineBlockLayout:
|
150
|
+
Exclude:
|
151
|
+
- 'spec/**/*'
|
152
|
+
|
153
|
+
Style/Semicolon:
|
154
|
+
Exclude:
|
155
|
+
- 'spec/**/*'
|
156
|
+
|
157
|
+
Style/Lambda:
|
158
|
+
Exclude:
|
159
|
+
- 'spec/**/*'
|
160
|
+
|
161
|
+
Style/IndentationConsistency:
|
162
|
+
EnforcedStyle: rails
|
163
|
+
|
164
|
+
Style/CollectionMethods:
|
165
|
+
PreferredMethods:
|
166
|
+
collect: 'map'
|
167
|
+
collect!: 'map!'
|
168
|
+
inject: 'reduce'
|
169
|
+
detect: 'find'
|
170
|
+
find_all: 'select'
|
171
|
+
|
172
|
+
Style/WordArray:
|
173
|
+
Enabled: false
|
174
|
+
|
175
|
+
Style/RegexpLiteral:
|
176
|
+
Enabled: false
|
177
|
+
|
178
|
+
Style/StringLiterals:
|
179
|
+
Enabled: false
|
180
|
+
|
181
|
+
Style/ClassAndModuleChildren:
|
182
|
+
Enabled: false
|
183
|
+
|
184
|
+
Style/Documentation:
|
185
|
+
Enabled: false
|
186
|
+
|
187
|
+
Style/HashSyntax:
|
188
|
+
Exclude:
|
189
|
+
|
190
|
+
Style/GlobalVars:
|
191
|
+
Exclude:
|
192
|
+
- 'spec/**/*'
|
193
|
+
|
194
|
+
Style/SingleLineBlockParams:
|
195
|
+
Enabled: false
|
196
|
+
|
197
|
+
Style/ClassVars:
|
198
|
+
Exclude:
|
199
|
+
- 'spec/unit/finder_methods_spec.rb'
|
200
|
+
- 'spec/unit/base_spec.rb'
|
201
|
+
- 'spec/integration/indexing_spec.rb'
|
202
|
+
- 'lib/active_fedora/predicates.rb'
|
203
|
+
- 'lib/active_fedora/identifiable.rb'
|
204
|
+
|
205
|
+
Style/SignalException:
|
206
|
+
Enabled: false
|
207
|
+
|
208
|
+
Style/FileName:
|
209
|
+
Exclude:
|
210
|
+
- 'lib/active-fedora.rb'
|
211
|
+
- 'spec/samples/hydra-mods_article_datastream.rb'
|
212
|
+
|
213
|
+
Rails/Output:
|
214
|
+
Exclude:
|
215
|
+
- 'lib/generators/**/*'
|
216
|
+
|
217
|
+
Rails/Date:
|
218
|
+
Enabled: false
|
219
|
+
|
220
|
+
Rails/TimeZone:
|
221
|
+
Enabled: false
|
222
|
+
|
223
|
+
RSpec/ExampleWording:
|
224
|
+
CustomTransform:
|
225
|
+
be: is
|
226
|
+
have: has
|
227
|
+
not: does not
|
228
|
+
NOT: does NOT
|
229
|
+
IgnoredWords:
|
230
|
+
- only
|
231
|
+
|
232
|
+
RSpec/FilePath:
|
233
|
+
Enabled: false
|
234
|
+
|
235
|
+
RSpec/InstanceVariable:
|
236
|
+
Enabled: false
|
237
|
+
|
238
|
+
RSpec/DescribeClass:
|
239
|
+
Exclude:
|
240
|
+
- 'spec/integration/**/*'
|
241
|
+
|
242
|
+
RSpec/DescribedClass:
|
243
|
+
Exclude:
|
244
|
+
- 'spec/unit/finder_methods_spec.rb'
|
245
|
+
|
data/.travis.yml
CHANGED
@@ -3,17 +3,18 @@ cache: bundler
|
|
3
3
|
sudo: false
|
4
4
|
rvm:
|
5
5
|
- 2.2.1
|
6
|
-
gemfile:
|
7
|
-
- gemfiles/rails4.1.gemfile
|
8
|
-
- gemfiles/rails4.2.gemfile
|
9
6
|
matrix:
|
10
7
|
include:
|
11
8
|
- rvm: 2.1
|
12
|
-
|
9
|
+
env: "RAILS_VERSION=4.2.4"
|
10
|
+
|
13
11
|
notifications:
|
14
12
|
irc: "irc.freenode.org#projecthydra"
|
13
|
+
|
15
14
|
env:
|
16
|
-
|
17
|
-
|
15
|
+
- "RAILS_VERSION=4.1.13"
|
16
|
+
|
17
|
+
global_env:
|
18
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
18
19
|
before_script:
|
19
|
-
- jdk_switcher use oraclejdk8
|
20
|
+
- jdk_switcher use oraclejdk8
|
data/Gemfile
CHANGED
@@ -7,6 +7,8 @@ gemspec path: File.expand_path('..', __FILE__)
|
|
7
7
|
gem 'byebug' unless ENV['TRAVIS']
|
8
8
|
gem 'pry-byebug' unless ENV['CI']
|
9
9
|
|
10
|
+
gem 'activemodel', ENV['RAILS_VERSION'] if ENV['RAILS_VERSION']
|
11
|
+
|
10
12
|
group :test do
|
11
13
|
gem 'simplecov', require: false
|
12
14
|
gem 'coveralls', require: false
|
data/History.txt
CHANGED
@@ -1,3 +1,54 @@
|
|
1
|
+
v9.6.1
|
2
|
+
2015-11-02: Don't try to parse nil dates. Fixes #937 [Justin Coyne]
|
3
|
+
|
4
|
+
v9.6.0 (yanked)
|
5
|
+
2015-11-02: Loosen dependency on rdf-rdfxml [Justin Coyne]
|
6
|
+
|
7
|
+
2015-10-29: Allow developers to override resource_class. [Trey Terrell]
|
8
|
+
|
9
|
+
2015-10-27: Makes `has_key?` and `key?` behave consistently in
|
10
|
+
AF::AssociationHash [David Chandek-Stark]
|
11
|
+
|
12
|
+
2015-10-27: Create failing test for issue with datastreams resetting to old
|
13
|
+
version after save related to
|
14
|
+
https://github.com/projecthydra/active_fedora/issues/913 [Kathryn Cassidy]
|
15
|
+
|
16
|
+
2015-10-26: Save timezone information for DateTime values. Load from Solr as
|
17
|
+
DateTime rather than String when index type is :date. [Olli Lyytinen]
|
18
|
+
|
19
|
+
2015-10-26: Load create_date and modified_date from Solr. [Olli Lyytinen]
|
20
|
+
|
21
|
+
2015-10-23: Ensure Travis runs the tests [Justin Coyne]
|
22
|
+
|
23
|
+
2015-10-23: Avoid unnecessary loads [Justin Coyne]
|
24
|
+
|
25
|
+
2015-10-23: refactor persistence spec to not use deprecated methods [Justin
|
26
|
+
Coyne]
|
27
|
+
|
28
|
+
2015-10-23: Return values for inherited attributes the same way we do for
|
29
|
+
properties [Adam Wead]
|
30
|
+
|
31
|
+
2015-10-23: Create an ids_reader for indirect containers [Justin Coyne]
|
32
|
+
|
33
|
+
2015-10-22: Exclude vendor/**/* from rubocop [Justin Coyne]
|
34
|
+
|
35
|
+
2015-10-22: Do away with gemfiles [Justin Coyne]
|
36
|
+
|
37
|
+
2015-10-22: Add rubocop [Justin Coyne]
|
38
|
+
|
39
|
+
2015-10-22: Don't load all the members of an Aggregation on concat [Justin
|
40
|
+
Coyne]
|
41
|
+
|
42
|
+
2015-10-20: Adds ActiveFedora::Checksum class to encapsulate file digest info.
|
43
|
+
[David Chandek-Stark]
|
44
|
+
|
45
|
+
2015-08-03: Append val to solr array instead of replacing when appropriate.
|
46
|
+
[Anna Headley]
|
47
|
+
|
48
|
+
2015-10-20: Adds `#create_date` attribute method to File. [David Chandek-Stark]
|
49
|
+
|
50
|
+
2015-10-19: Update foreign_key documentation [ci skip] [Justin Coyne]
|
51
|
+
|
1
52
|
v9.5.0
|
2
53
|
2015-10-16: query for nil creates correct query [Justin Coyne]
|
3
54
|
|
data/Rakefile
CHANGED
@@ -6,11 +6,12 @@ Bundler::GemHelper.install_tasks
|
|
6
6
|
# load rake tasks defined in lib/tasks that are not loaded in lib/active_fedora.rb
|
7
7
|
load "lib/tasks/active_fedora_dev.rake"
|
8
8
|
|
9
|
-
CLEAN.include %w
|
9
|
+
CLEAN.include %w(**/.DS_Store tmp *.log *.orig *.tmp **/*~)
|
10
10
|
|
11
|
-
|
12
|
-
task :
|
13
|
-
|
11
|
+
desc 'setup jetty and run tests'
|
12
|
+
task ci: ['jetty:clean', 'active_fedora:ci']
|
13
|
+
desc 'run tests'
|
14
|
+
task spec: ['active_fedora:rubocop', 'active_fedora:rspec']
|
15
|
+
task rcov: ['active_fedora:rcov']
|
14
16
|
|
15
|
-
|
16
|
-
task :default => [:ci]
|
17
|
+
task default: [:ci]
|
data/active-fedora.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_dependency 'nom-xml', '>= 0.5.1'
|
20
20
|
s.add_dependency "activesupport", '>= 4.1.0'
|
21
21
|
s.add_dependency "active-triples", '~> 0.7.1'
|
22
|
-
s.add_dependency "rdf-rdfxml", '~> 1.1
|
22
|
+
s.add_dependency "rdf-rdfxml", '~> 1.1'
|
23
23
|
s.add_dependency "linkeddata"
|
24
24
|
s.add_dependency "deprecation"
|
25
25
|
s.add_dependency "ldp", '~> 0.4.0'
|
@@ -32,6 +32,8 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.add_development_dependency "rspec-its"
|
33
33
|
s.add_development_dependency "equivalent-xml"
|
34
34
|
s.add_development_dependency "simplecov", '~> 0.7.1'
|
35
|
+
s.add_development_dependency "rubocop", '~> 0.34'
|
36
|
+
s.add_development_dependency "rubocop-rspec", '~> 1.3'
|
35
37
|
|
36
38
|
s.files = `git ls-files`.split("\n")
|
37
39
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
data/lib/active_fedora.rb
CHANGED
@@ -14,20 +14,21 @@ ENABLE_SOLR_UPDATES = true unless defined?(ENABLE_SOLR_UPDATES)
|
|
14
14
|
|
15
15
|
# Monkey patching RDF::Literal::DateTime to support fractional seconds.
|
16
16
|
# See https://github.com/projecthydra/active_fedora/issues/497
|
17
|
+
# Also monkey patches in a fix for timezones to be stored properly.
|
17
18
|
module RDF
|
18
19
|
class Literal
|
19
20
|
class DateTime < Literal
|
20
21
|
ALTERNATIVE_FORMAT = '%Y-%m-%dT%H:%M:%S'.freeze
|
21
22
|
DOT = '.'.freeze
|
22
|
-
Z = 'Z'.freeze
|
23
23
|
EMPTY = ''.freeze
|
24
|
+
TIMEZONE_FORMAT = '%z'.freeze
|
24
25
|
|
25
26
|
def to_s
|
26
27
|
@string ||= begin
|
27
28
|
# Show nanoseconds but remove trailing zeros
|
28
29
|
nano = @object.strftime('%N').sub(/0+\Z/, EMPTY)
|
29
30
|
nano = DOT + nano unless nano.blank?
|
30
|
-
@object.strftime(ALTERNATIVE_FORMAT) + nano +
|
31
|
+
@object.strftime(ALTERNATIVE_FORMAT) + nano + @object.strftime(TIMEZONE_FORMAT)
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
@@ -49,6 +50,7 @@ module ActiveFedora #:nodoc:
|
|
49
50
|
autoload :CachingConnection
|
50
51
|
autoload :Callbacks
|
51
52
|
autoload :ChangeSet
|
53
|
+
autoload :Checksum
|
52
54
|
autoload :CleanConnection
|
53
55
|
autoload :Config
|
54
56
|
autoload :Core
|
@@ -151,7 +153,6 @@ module ActiveFedora #:nodoc:
|
|
151
153
|
end
|
152
154
|
end
|
153
155
|
|
154
|
-
|
155
156
|
module Scoping
|
156
157
|
extend ActiveSupport::Autoload
|
157
158
|
|
@@ -168,11 +169,14 @@ module ActiveFedora #:nodoc:
|
|
168
169
|
def fedora_config
|
169
170
|
@fedora_config ||= Config.new(configurator.fedora_config)
|
170
171
|
end
|
171
|
-
def solr_config; configurator.solr_config; end
|
172
|
-
def config_options; configurator.config_options; end
|
173
|
-
def config_loaded?; configurator.config_loaded?; end
|
174
172
|
|
175
|
-
|
173
|
+
delegate :solr_config, to: :configurator
|
174
|
+
|
175
|
+
delegate :config_options, to: :configurator
|
176
|
+
|
177
|
+
delegate :config_loaded?, to: :configurator
|
178
|
+
|
179
|
+
def init(options = {})
|
176
180
|
# Make config_options into a Hash if nil is passed in as the value
|
177
181
|
options = {} if options.nil?
|
178
182
|
# For backwards compatibility, handle cases where config_path (a String) is passed in as the argument rather than a config_options hash
|
@@ -201,14 +205,14 @@ module ActiveFedora #:nodoc:
|
|
201
205
|
# ActiveFedora.init(:environment=>"test")
|
202
206
|
# ActiveFedora.environment => "test"
|
203
207
|
def environment
|
204
|
-
if config_options.fetch(:environment,nil)
|
208
|
+
if config_options.fetch(:environment, nil)
|
205
209
|
return config_options[:environment]
|
206
|
-
elsif defined?(Rails.env)
|
210
|
+
elsif defined?(Rails.env) && !Rails.env.nil?
|
207
211
|
return Rails.env.to_s
|
208
|
-
elsif defined?(ENV['environment'])
|
212
|
+
elsif defined?(ENV['environment']) && !(ENV['environment'].nil?)
|
209
213
|
return ENV['environment']
|
210
|
-
elsif defined?(ENV['RAILS_ENV'])
|
211
|
-
raise
|
214
|
+
elsif defined?(ENV['RAILS_ENV']) && !(ENV['RAILS_ENV'].nil?)
|
215
|
+
raise "You're depending on RAILS_ENV for setting your environment. Please use ENV['environment'] for non-rails environment setting: 'rake foo:bar environment=test'"
|
212
216
|
else
|
213
217
|
ENV['environment'] = 'development'
|
214
218
|
end
|
@@ -222,9 +226,7 @@ module ActiveFedora #:nodoc:
|
|
222
226
|
@fedora ||= Fedora.new(fedora_config.credentials)
|
223
227
|
end
|
224
228
|
|
225
|
-
|
226
|
-
configurator.predicate_config
|
227
|
-
end
|
229
|
+
delegate :predicate_config, to: :configurator
|
228
230
|
|
229
231
|
def root
|
230
232
|
::File.expand_path('../..', __FILE__)
|
@@ -243,10 +245,10 @@ module ActiveFedora #:nodoc:
|
|
243
245
|
# @example Search within ActiveFedora::RdfNode for a class called "TermProxy"
|
244
246
|
# ActiveFedora.class_from_string("TermProxy", ActiveFedora::RdfNode)
|
245
247
|
# => ActiveFedora::RdfNode::TermProxy
|
246
|
-
def class_from_string(
|
248
|
+
def class_from_string(full_class_name, container_class = Kernel)
|
247
249
|
container_class = container_class.name if container_class.is_a? Module
|
248
250
|
container_parts = container_class.split('::')
|
249
|
-
(container_parts +
|
251
|
+
(container_parts + full_class_name.split('::')).flatten.inject(Kernel) do |mod, class_name|
|
250
252
|
if mod == Kernel
|
251
253
|
Object.const_get(class_name)
|
252
254
|
elsif mod.const_defined? class_name.to_sym
|
@@ -257,14 +259,11 @@ module ActiveFedora #:nodoc:
|
|
257
259
|
end
|
258
260
|
end
|
259
261
|
end
|
260
|
-
|
261
262
|
end
|
262
263
|
|
263
264
|
self.configurator ||= ActiveFedora::FileConfigurator.new
|
264
|
-
|
265
265
|
end
|
266
266
|
|
267
|
-
|
268
267
|
I18n.load_path << ::File.dirname(__FILE__) + '/active_fedora/locale/en.yml'
|
269
268
|
|
270
269
|
require 'active_fedora/railtie' if defined?(Rails)
|