valkyrie 2.0.2 → 2.1.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 +4 -4
- data/.circleci/config.yml +0 -24
- data/Appraisals +0 -4
- data/CHANGELOG.md +65 -0
- data/README.md +2 -2
- data/db/schema.rb +0 -40
- data/gemfiles/activerecord_5_2.gemfile +2 -0
- data/gemfiles/activerecord_6_0.gemfile +2 -0
- data/lib/valkyrie.rb +20 -2
- data/lib/valkyrie/id.rb +16 -1
- data/lib/valkyrie/logging.rb +72 -0
- data/lib/valkyrie/persistence/composite_persister.rb +1 -1
- data/lib/valkyrie/persistence/fedora.rb +2 -0
- data/lib/valkyrie/persistence/fedora/list_node.rb +3 -6
- data/lib/valkyrie/persistence/fedora/metadata_adapter.rb +2 -2
- data/lib/valkyrie/persistence/fedora/permissive_schema.rb +2 -2
- data/lib/valkyrie/persistence/fedora/persister.rb +2 -1
- data/lib/valkyrie/persistence/fedora/query_service.rb +20 -17
- data/lib/valkyrie/persistence/memory/query_service.rb +32 -10
- data/lib/valkyrie/persistence/postgres/query_service.rb +66 -13
- data/lib/valkyrie/persistence/solr/persister.rb +4 -17
- data/lib/valkyrie/persistence/solr/queries/find_all_query.rb +6 -0
- data/lib/valkyrie/persistence/solr/query_service.rb +33 -44
- data/lib/valkyrie/persistence/solr/repository.rb +2 -1
- data/lib/valkyrie/rdf_patches.rb +2 -2
- data/lib/valkyrie/resource.rb +10 -2
- data/lib/valkyrie/specs/shared_specs/persister.rb +3 -3
- data/lib/valkyrie/specs/shared_specs/queries.rb +112 -9
- data/lib/valkyrie/storage/fedora.rb +1 -1
- data/lib/valkyrie/storage_adapter.rb +5 -2
- data/lib/valkyrie/types.rb +2 -0
- data/lib/valkyrie/version.rb +1 -1
- data/solr/config/solrconfig.xml +0 -10
- data/valkyrie.gemspec +1 -0
- metadata +17 -4
- data/db/seeds.rb +0 -8
- data/gemfiles/activerecord_5_1.gemfile +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67949cb5bed2cbcf96fa0919446f7e94288874371cca3f706fed156775b3c63f
|
4
|
+
data.tar.gz: febfd165c53533252232090bd427fb5f970b85053a314ff991f15d851bda078a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba0e9e518bb437c93c1e27a21c851af5eaea423cbc863b7f68b555017a98a663ead92ea51bfcb5edcf5975b013b95f2179a5805aca9f988e269ff0beef85686a
|
7
|
+
data.tar.gz: ae2a939e6ab89a5e704a2a8234a7addc93d1f946a260aa9860d0beab87ef8eeb66d6d789a06e3fe40c2abd8d92f2ec25edd7f9889c4f23cdc8ea213cf29d1a4c
|
data/.circleci/config.yml
CHANGED
@@ -75,26 +75,14 @@ workflows:
|
|
75
75
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
76
76
|
ruby: 2.6.3
|
77
77
|
name: "Ruby2-6_Rails5-2"
|
78
|
-
- build:
|
79
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
80
|
-
ruby: 2.6.3
|
81
|
-
name: "Ruby2-6_Rails5-1"
|
82
78
|
- build:
|
83
79
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
84
80
|
ruby: 2.5.5
|
85
81
|
name: "Ruby2-5_Rails5-2"
|
86
|
-
- build:
|
87
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
88
|
-
ruby: 2.5.5
|
89
|
-
name: "Ruby2-5_Rails5-1"
|
90
82
|
- build:
|
91
83
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
92
84
|
ruby: 2.4.6
|
93
85
|
name: "Ruby2-4_Rails5-2"
|
94
|
-
- build:
|
95
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
96
|
-
ruby: 2.4.6
|
97
|
-
name: "Ruby2-4_Rails5-1"
|
98
86
|
nightly:
|
99
87
|
triggers:
|
100
88
|
- schedule:
|
@@ -112,23 +100,11 @@ workflows:
|
|
112
100
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
113
101
|
ruby: 2.6.3
|
114
102
|
name: "Ruby2-6_Rails5-2"
|
115
|
-
- build:
|
116
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
117
|
-
ruby: 2.6.3
|
118
|
-
name: "Ruby2-6_Rails5-1"
|
119
103
|
- build:
|
120
104
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
121
105
|
ruby: 2.5.5
|
122
106
|
name: "Ruby2-5_Rails5-2"
|
123
|
-
- build:
|
124
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
125
|
-
ruby: 2.5.5
|
126
|
-
name: "Ruby2-5_Rails5-1"
|
127
107
|
- build:
|
128
108
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
129
109
|
ruby: 2.4.6
|
130
110
|
name: "Ruby2-4_Rails5-2"
|
131
|
-
- build:
|
132
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
133
|
-
ruby: 2.4.6
|
134
|
-
name: "Ruby2-4_Rails5-1"
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,68 @@
|
|
1
|
+
# v2.1.0 2020-01-09
|
2
|
+
|
3
|
+
## Changes since last release
|
4
|
+
|
5
|
+
* Use `::` prefixed names for `JSON::LD` references.
|
6
|
+
[no-reply](https://github.com/no-reply)
|
7
|
+
* Use SVG instead of PNG for version badge.
|
8
|
+
[hackmastera](https://github.com/hackmastera)
|
9
|
+
* Fix Rubocop for latest Bixby.
|
10
|
+
[hackmastera](https://github.com/hackmastera)
|
11
|
+
* Valkyrie IDs equal string equivalent of ID to String with config
|
12
|
+
[jlevnhv](https://github.com/jlevnhv)
|
13
|
+
* Add optional model parameter to find_inverse_references_by and
|
14
|
+
find_references_by
|
15
|
+
[elrayle](https://github.com/elrayle)
|
16
|
+
[laritakr](https://github.com/laritakr)
|
17
|
+
* Add parity in schema.key lookup for `ordered_attribute?`
|
18
|
+
[jeremyf](https://github.com/jeremyf)
|
19
|
+
* Order member_ids when using schema-style attributes method.
|
20
|
+
[no-reply](https://github.com/no-reply)
|
21
|
+
* Use DEFAULT_FEDORA_VERSION constant for Fedora adapter.
|
22
|
+
[no-reply](https://github.com/no-reply)
|
23
|
+
* Stop testing ActiveRecord 5.1
|
24
|
+
[scherztc](https://github.com/scherztc)
|
25
|
+
* Rename ListNode#target_uri to ListNode#target
|
26
|
+
[mbklein](https://github.com/mbklein)
|
27
|
+
* Document that Solr Persister is intended to be used as a secondary persister.
|
28
|
+
[hweng](https://github.com/hweng)
|
29
|
+
* Remove unused database tables from schema.rb
|
30
|
+
[scherztc](https://github.com/scherztc)
|
31
|
+
* Alternate Identifier documentation
|
32
|
+
[escowles](https://github.com/escowles)
|
33
|
+
* Remove suggest component in example Solr Config
|
34
|
+
[hweng](https://github.com/hweng)
|
35
|
+
* Remove unused db/seeds.rb
|
36
|
+
[scherztc](https://github.com/scherztc)
|
37
|
+
* Replace YARD Doc for Solr adapter with references to Memory Adapter.
|
38
|
+
[afred](https://github.com/afred)
|
39
|
+
* Refactor shadowed variable in buffered persister spec.
|
40
|
+
[jeremyf](https://github.com/jeremyf)
|
41
|
+
* Use example.com instead of made-up URLs
|
42
|
+
[escowles](https://github.com/escowles)
|
43
|
+
* Add count_all_of_model query
|
44
|
+
[christinach](https://github.com/christinach)
|
45
|
+
[blancoj](https://github.com/blancoj)
|
46
|
+
* Raise an error when unable to find a StorageAdapter
|
47
|
+
[bkiahstroud](https://github.com/bkiahstroud)
|
48
|
+
[FCRodriguez7](https://github.com/FCRodriguez7)
|
49
|
+
[kcompsci](https://github.com/kcompsci)
|
50
|
+
* Allow find_inverse_reference_by property to be either ordered or not.
|
51
|
+
[elrayle](https://github.com/elrayle)
|
52
|
+
* Randomized spec order
|
53
|
+
[jeremyf](https://github.com/jeremyf)
|
54
|
+
* Allow Valkyrie logging to be tagged with a context and suppressed.
|
55
|
+
[jeremyf](https://github.com/jeremyf)
|
56
|
+
* Fix documentation for Valkyrie::Persister::Memory being disassociated.
|
57
|
+
[jeremyf](https://github.com/jeremyf)
|
58
|
+
* Suppress Solr warnings in tests.
|
59
|
+
[jeremyf](https://github.com/jeremyf)
|
60
|
+
* Add `Valkyrie::Types::Relation` and `Valkyrie::Types::OrderedRelation`
|
61
|
+
[luisgreg99](https://github.com/luisgreg99)
|
62
|
+
[lsat12357](https://github.com/lsat12357)
|
63
|
+
[foglabs](https://github.com/foglabs)
|
64
|
+
[dgcliff](https://github.com/dgcliff)
|
65
|
+
|
1
66
|
# v2.0.2 2019-10-17
|
2
67
|
|
3
68
|
## Changes since last release
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Valkyrie is a gem for enabling multiple backends for storage of files and metada
|
|
4
4
|
|
5
5
|

|
6
6
|
|
7
|
-
Code: [](https://badge.fury.io/rb/valkyrie)
|
8
8
|
[](https://circleci.com/gh/samvera/valkyrie)
|
9
9
|

|
10
10
|
|
@@ -107,7 +107,7 @@ The initializer registers four `Valkyrie::MetadataAdapter` instances for storing
|
|
107
107
|
* `:memory` which stores metadata in an in-memory cache (this cache is not persistent, so it is only
|
108
108
|
appropriate for testing).
|
109
109
|
* `:postgres` which stores metadata in a PostgreSQL database.
|
110
|
-
* `:solr` which stores metadata in a Solr Index.
|
110
|
+
* `:solr` which stores metadata in a Solr Index (Solr Persister issues a warning if it has to generate an ID for a new resource because it is intended to be used as a secondary persister).
|
111
111
|
|
112
112
|
Other adapter options include `Valkyrie::Persistence::BufferedPersister` for buffering in memory before bulk
|
113
113
|
updating another persister, `Valkyrie::Persistence::CompositePersister` for storing in more than one adapter
|
data/db/schema.rb
CHANGED
@@ -15,18 +15,6 @@ ActiveRecord::Schema.define(version: 20170531004548) do
|
|
15
15
|
enable_extension "plpgsql"
|
16
16
|
enable_extension "uuid-ossp"
|
17
17
|
|
18
|
-
create_table "bookmarks", id: :serial, force: :cascade do |t|
|
19
|
-
t.integer "user_id", null: false
|
20
|
-
t.string "user_type"
|
21
|
-
t.string "document_id"
|
22
|
-
t.string "document_type"
|
23
|
-
t.binary "title"
|
24
|
-
t.datetime "created_at", null: false
|
25
|
-
t.datetime "updated_at", null: false
|
26
|
-
t.index ["document_id"], name: "index_bookmarks_on_document_id"
|
27
|
-
t.index ["user_id"], name: "index_bookmarks_on_user_id"
|
28
|
-
end
|
29
|
-
|
30
18
|
create_table "orm_resources", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
|
31
19
|
t.jsonb "metadata", default: {}, null: false
|
32
20
|
t.datetime "created_at", null: false
|
@@ -34,32 +22,4 @@ ActiveRecord::Schema.define(version: 20170531004548) do
|
|
34
22
|
t.string "internal_resource"
|
35
23
|
t.index ["metadata"], name: "index_orm_resources_on_metadata", using: :gin
|
36
24
|
end
|
37
|
-
|
38
|
-
create_table "searches", id: :serial, force: :cascade do |t|
|
39
|
-
t.binary "query_params"
|
40
|
-
t.integer "user_id"
|
41
|
-
t.string "user_type"
|
42
|
-
t.datetime "created_at", null: false
|
43
|
-
t.datetime "updated_at", null: false
|
44
|
-
t.index ["user_id"], name: "index_searches_on_user_id"
|
45
|
-
end
|
46
|
-
|
47
|
-
create_table "users", id: :serial, force: :cascade do |t|
|
48
|
-
t.string "email", default: "", null: false
|
49
|
-
t.string "encrypted_password", default: "", null: false
|
50
|
-
t.string "reset_password_token"
|
51
|
-
t.datetime "reset_password_sent_at"
|
52
|
-
t.datetime "remember_created_at"
|
53
|
-
t.integer "sign_in_count", default: 0, null: false
|
54
|
-
t.datetime "current_sign_in_at"
|
55
|
-
t.datetime "last_sign_in_at"
|
56
|
-
t.inet "current_sign_in_ip"
|
57
|
-
t.inet "last_sign_in_ip"
|
58
|
-
t.datetime "created_at", null: false
|
59
|
-
t.datetime "updated_at", null: false
|
60
|
-
t.boolean "guest", default: false
|
61
|
-
t.index ["email"], name: "index_users_on_email", unique: true
|
62
|
-
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
|
63
|
-
end
|
64
|
-
|
65
25
|
end
|
data/lib/valkyrie.rb
CHANGED
@@ -14,6 +14,7 @@ require 'logger'
|
|
14
14
|
require 'rdf/vocab'
|
15
15
|
|
16
16
|
module Valkyrie
|
17
|
+
require 'valkyrie/logging'
|
17
18
|
require 'valkyrie/id'
|
18
19
|
require 'valkyrie/change_set'
|
19
20
|
require 'valkyrie/value_mapper'
|
@@ -61,12 +62,16 @@ module Valkyrie
|
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
65
|
+
# @return [Valkyrie::Logging]
|
64
66
|
def logger
|
65
|
-
@logger ||= Logger.new(STDOUT)
|
67
|
+
@logger ||= Valkyrie::Logging.new(logger: Logger.new(STDOUT))
|
66
68
|
end
|
67
69
|
|
70
|
+
# Wraps the given logger in an instance of Valkyrie::Logging
|
71
|
+
#
|
72
|
+
# @param logger [Logger]
|
68
73
|
def logger=(logger)
|
69
|
-
@logger = logger
|
74
|
+
@logger = Valkyrie::Logging.new(logger: logger)
|
70
75
|
end
|
71
76
|
|
72
77
|
class Config < OpenStruct
|
@@ -82,6 +87,19 @@ module Valkyrie
|
|
82
87
|
Valkyrie::StorageAdapter.find(super.to_sym)
|
83
88
|
end
|
84
89
|
|
90
|
+
# @api public
|
91
|
+
# Configure id_string_equality to be true in order to make Valkyrie::ID
|
92
|
+
# equal to the string value they contain. This will be the default behavior
|
93
|
+
# in v3.0.0.
|
94
|
+
#
|
95
|
+
# @return [Boolean] Whether `Valkyrie::ID` should be equal to their string counterpart.
|
96
|
+
def id_string_equality
|
97
|
+
super
|
98
|
+
end
|
99
|
+
|
100
|
+
# @!attribute [w] id_string_equality=
|
101
|
+
# The setter for #id_string_equality; see it's implementation
|
102
|
+
|
85
103
|
# @api public
|
86
104
|
#
|
87
105
|
# The returned anonymous method (e.g. responds to #call) has a signature of
|
data/lib/valkyrie/id.rb
CHANGED
@@ -17,12 +17,27 @@ module Valkyrie
|
|
17
17
|
delegate :hash, to: :state
|
18
18
|
|
19
19
|
def eql?(other)
|
20
|
-
other
|
20
|
+
return (default_equality(other) || string_equality(other)) if Valkyrie.config.id_string_equality == true
|
21
|
+
default_equality(other)
|
21
22
|
end
|
22
23
|
alias == eql?
|
23
24
|
|
24
25
|
protected
|
25
26
|
|
27
|
+
def default_equality(other)
|
28
|
+
output = (other.class == self.class && other.state == state)
|
29
|
+
return output if output == true
|
30
|
+
if output == false && string_equality(other) && Valkyrie.config.id_string_equality.nil?
|
31
|
+
warn "[DEPRECATION] Valkyrie::IDs will always be equal to their string counterparts in 3.0.0. " \
|
32
|
+
"To silence this message, please either compare IDs or set Valkyrie.config.id_string_equality = true."
|
33
|
+
end
|
34
|
+
false
|
35
|
+
end
|
36
|
+
|
37
|
+
def string_equality(other)
|
38
|
+
other.to_s == to_s
|
39
|
+
end
|
40
|
+
|
26
41
|
def state
|
27
42
|
[@id]
|
28
43
|
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Valkyrie
|
3
|
+
# A wrapper class for Valkyrie logging. This class attempts to provide
|
4
|
+
# tooling that helps improve the communication through-out the stack.
|
5
|
+
#
|
6
|
+
# In gem development there are several considerations regarding logging.
|
7
|
+
#
|
8
|
+
# 1) The development on the gem directly, in particular specs
|
9
|
+
# 2) The downstream development that leverages the gem, both when specs are
|
10
|
+
# running and when running the downstream processes in a development
|
11
|
+
# environment.
|
12
|
+
# 3) The downstream behaviors that are called in production environments.
|
13
|
+
#
|
14
|
+
# In each of these cases, different considerations regarding logging may be
|
15
|
+
# relevant.
|
16
|
+
#
|
17
|
+
# In the below example,
|
18
|
+
#
|
19
|
+
# @example
|
20
|
+
# Valkyrie.logger.suppress_logging_for_contexts!("A Named Context") do
|
21
|
+
# # The following will NOT be logged
|
22
|
+
# Valkyrie.logger.warn('Hello', logging_context: "A Named Context")
|
23
|
+
#
|
24
|
+
# # The following will be logged
|
25
|
+
# Valkyrie.logger.warn('Hello')
|
26
|
+
# end
|
27
|
+
# # The following will be logged
|
28
|
+
# Valkyrie.logger.warn('Hello', logging_context: "A Named Context")
|
29
|
+
|
30
|
+
class Logging < SimpleDelegator
|
31
|
+
# @param logger [Logger] the logger to which we'll delegate messages
|
32
|
+
def initialize(logger:)
|
33
|
+
@suppressions = {}
|
34
|
+
super(logger)
|
35
|
+
end
|
36
|
+
|
37
|
+
def warn(*args, logging_context: false, &block)
|
38
|
+
super(*args, *block) unless @suppressions.key?(logging_context)
|
39
|
+
end
|
40
|
+
|
41
|
+
def error(*args, logging_context: false, &block)
|
42
|
+
super(*args, *block) unless @suppressions.key?(logging_context)
|
43
|
+
end
|
44
|
+
|
45
|
+
def info(*args, logging_context: false, &block)
|
46
|
+
super(*args, *block) unless @suppressions.key?(logging_context)
|
47
|
+
end
|
48
|
+
|
49
|
+
def debug(*args, logging_context: false, &block)
|
50
|
+
super(*args, *block) unless @suppressions.key?(logging_context)
|
51
|
+
end
|
52
|
+
|
53
|
+
def fatal(*args, logging_context: false, &block)
|
54
|
+
super(*args, *block) unless @suppressions.key?(logging_context)
|
55
|
+
end
|
56
|
+
|
57
|
+
def suppress_logging_for_contexts!(*logging_contexts)
|
58
|
+
Array(logging_contexts).each do |logging_context|
|
59
|
+
@suppressions[logging_context] = true
|
60
|
+
end
|
61
|
+
return unless block_given?
|
62
|
+
yield
|
63
|
+
clear_suppressions!(*logging_contexts)
|
64
|
+
end
|
65
|
+
|
66
|
+
def clear_suppressions!(*logging_contexts)
|
67
|
+
Array(logging_contexts).each do |logging_context|
|
68
|
+
@suppressions.delete(logging_context)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -30,7 +30,7 @@ module Valkyrie::Persistence
|
|
30
30
|
cached_resource = first.save(resource: resource)
|
31
31
|
# Don't pass opt lock tokens to other persisters
|
32
32
|
internal_resource = cached_resource.dup
|
33
|
-
internal_resource.
|
33
|
+
internal_resource.clear_optimistic_lock_token!
|
34
34
|
rest.inject(internal_resource) { |m, persister| persister.save(resource: m) }
|
35
35
|
# return the one with the desired opt lock token
|
36
36
|
cached_resource
|
@@ -18,7 +18,6 @@ module Valkyrie::Persistence::Fedora
|
|
18
18
|
class ListNode
|
19
19
|
attr_reader :rdf_subject, :graph
|
20
20
|
attr_writer :next, :prev
|
21
|
-
attr_accessor :target
|
22
21
|
attr_writer :next_uri, :prev_uri
|
23
22
|
attr_accessor :proxy_in, :proxy_for
|
24
23
|
attr_reader :adapter
|
@@ -59,16 +58,15 @@ module Valkyrie::Persistence::Fedora
|
|
59
58
|
def to_graph
|
60
59
|
return RDF::Graph.new if target_id.blank?
|
61
60
|
g = Resource.new(rdf_subject)
|
62
|
-
g.proxy_for =
|
61
|
+
g.proxy_for = target
|
63
62
|
g.proxy_in = proxy_in.try(:uri)
|
64
63
|
g.next = self.next.try(:rdf_subject)
|
65
64
|
g.prev = prev.try(:rdf_subject)
|
66
65
|
g.graph
|
67
66
|
end
|
68
67
|
|
69
|
-
#
|
70
|
-
|
71
|
-
def target_uri
|
68
|
+
# @return [RDF::URI] or [String]
|
69
|
+
def target
|
72
70
|
if target_id.is_a?(Valkyrie::ID)
|
73
71
|
adapter.id_to_uri(target_id.to_s)
|
74
72
|
else
|
@@ -76,7 +74,6 @@ module Valkyrie::Persistence::Fedora
|
|
76
74
|
end
|
77
75
|
end
|
78
76
|
|
79
|
-
# Generates the string ID value for the value in the list expression
|
80
77
|
# @return [String]
|
81
78
|
def target_id
|
82
79
|
if proxy_for.to_s.include?("/") && proxy_for.to_s.start_with?(adapter.connection_prefix)
|
@@ -6,7 +6,7 @@ module Valkyrie::Persistence::Fedora
|
|
6
6
|
# Valkyrie::Persistence::Fedora::MetadataAdapter.new(
|
7
7
|
# connection: ::Ldp::Client.new("http://localhost:8988/rest"),
|
8
8
|
# base_path: "test_fed",
|
9
|
-
# schema: Valkyrie::Persistence::Fedora::PermissiveSchema.new(title: RDF::URI("http://
|
9
|
+
# schema: Valkyrie::Persistence::Fedora::PermissiveSchema.new(title: RDF::URI("http://example.com/title"))
|
10
10
|
# )
|
11
11
|
class MetadataAdapter
|
12
12
|
attr_reader :connection, :base_path, :schema, :fedora_version
|
@@ -15,7 +15,7 @@ module Valkyrie::Persistence::Fedora
|
|
15
15
|
# @param [String] base_path
|
16
16
|
# @param [Valkyrie::Persistence::Fedora::PermissiveSchema] schema
|
17
17
|
# @param [Integer] fedora_version
|
18
|
-
def initialize(connection:, base_path: "/", schema: Valkyrie::Persistence::Fedora::PermissiveSchema.new, fedora_version:
|
18
|
+
def initialize(connection:, base_path: "/", schema: Valkyrie::Persistence::Fedora::PermissiveSchema.new, fedora_version: Valkyrie::Persistence::Fedora::DEFAULT_FEDORA_VERSION)
|
19
19
|
@connection = connection
|
20
20
|
@base_path = base_path
|
21
21
|
@schema = schema
|