valkyrie 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
![Valkyrie Logo](valkyrie_logo.png)
|
6
6
|
|
7
|
-
Code: [![Version](https://badge.fury.io/rb/valkyrie.
|
7
|
+
Code: [![Gem Version](https://badge.fury.io/rb/valkyrie.svg)](https://badge.fury.io/rb/valkyrie)
|
8
8
|
[![Build Status](https://circleci.com/gh/samvera/valkyrie.svg?style=svg)](https://circleci.com/gh/samvera/valkyrie)
|
9
9
|
![Coverage Status](https://img.shields.io/badge/Coverage-100-brightgreen.svg)
|
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
|