valkyrie 1.7.1 → 2.0.0.RC1
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 +6 -86
- data/.gitignore +0 -1
- data/.rubocop.yml +0 -5
- data/CHANGELOG.md +1 -160
- data/README.md +62 -84
- data/Rakefile +2 -8
- data/lib/valkyrie.rb +4 -39
- data/lib/valkyrie/id.rb +0 -8
- data/lib/valkyrie/persistence/fedora.rb +3 -7
- data/lib/valkyrie/persistence/fedora/list_node.rb +11 -28
- data/lib/valkyrie/persistence/fedora/metadata_adapter.rb +1 -8
- data/lib/valkyrie/persistence/fedora/permissive_schema.rb +0 -16
- data/lib/valkyrie/persistence/fedora/query_service.rb +6 -8
- data/lib/valkyrie/persistence/memory/metadata_adapter.rb +0 -5
- data/lib/valkyrie/persistence/memory/persister.rb +1 -1
- data/lib/valkyrie/persistence/memory/query_service.rb +6 -11
- data/lib/valkyrie/persistence/postgres.rb +1 -14
- data/lib/valkyrie/persistence/postgres/metadata_adapter.rb +0 -5
- data/lib/valkyrie/persistence/postgres/orm_converter.rb +1 -1
- data/lib/valkyrie/persistence/postgres/persister.rb +1 -9
- data/lib/valkyrie/persistence/postgres/query_service.rb +4 -6
- data/lib/valkyrie/persistence/solr.rb +0 -7
- data/lib/valkyrie/persistence/solr/metadata_adapter.rb +0 -5
- data/lib/valkyrie/persistence/solr/model_converter.rb +2 -11
- data/lib/valkyrie/persistence/solr/orm_converter.rb +2 -2
- data/lib/valkyrie/persistence/solr/queries/find_inverse_references_query.rb +4 -4
- data/lib/valkyrie/persistence/solr/queries/find_members_query.rb +4 -11
- data/lib/valkyrie/persistence/solr/query_service.rb +4 -7
- data/lib/valkyrie/resource.rb +21 -62
- data/lib/valkyrie/specs/shared_specs.rb +0 -5
- data/lib/valkyrie/specs/shared_specs/change_set_persister.rb +9 -9
- data/lib/valkyrie/specs/shared_specs/persister.rb +1 -3
- data/lib/valkyrie/specs/shared_specs/queries.rb +17 -45
- data/lib/valkyrie/specs/shared_specs/resource.rb +6 -11
- data/lib/valkyrie/specs/shared_specs/solr_indexer.rb +3 -3
- data/lib/valkyrie/specs/shared_specs/storage_adapter.rb +4 -17
- data/lib/valkyrie/storage/disk.rb +1 -2
- data/lib/valkyrie/storage/fedora.rb +16 -29
- data/lib/valkyrie/storage/memory.rb +1 -2
- data/lib/valkyrie/types.rb +6 -24
- data/lib/valkyrie/version.rb +1 -1
- data/solr/config/schema.xml +1 -0
- data/tasks/dev.rake +0 -3
- data/tasks/docker.rake +2 -2
- data/valkyrie.gemspec +6 -7
- metadata +49 -62
- data/.tool-versions +0 -1
- data/Appraisals +0 -8
- data/CODE_OF_CONDUCT.md +0 -36
- data/CONTRIBUTING.md +0 -161
- data/SUPPORT.md +0 -5
- data/gemfiles/activerecord_5_1.gemfile +0 -7
- data/gemfiles/activerecord_5_2.gemfile +0 -7
@@ -52,16 +52,16 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
|
|
52
52
|
|
53
53
|
describe "#human_readable_type" do
|
54
54
|
before do
|
55
|
-
class
|
55
|
+
class MyCustomResource < Valkyrie::Resource
|
56
56
|
attribute :title, Valkyrie::Types::Set
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
60
|
after do
|
61
|
-
|
61
|
+
Object.send(:remove_const, :MyCustomResource)
|
62
62
|
end
|
63
63
|
|
64
|
-
subject(:my_custom_resource) {
|
64
|
+
subject(:my_custom_resource) { MyCustomResource.new }
|
65
65
|
|
66
66
|
it "returns a human readable rendering of the resource class" do
|
67
67
|
expect(my_custom_resource.human_readable_type).to eq "My Custom Resource"
|
@@ -117,14 +117,11 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
|
|
117
117
|
expect(resource.symbol_property).to eq ["bla"]
|
118
118
|
resource_klass.schema.delete(:symbol_property)
|
119
119
|
end
|
120
|
-
it "can set values with string properties
|
120
|
+
it "can not set values with string properties" do
|
121
121
|
resource_klass.attribute :string_property
|
122
122
|
|
123
123
|
resource = nil
|
124
|
-
expect
|
125
|
-
|
126
|
-
expect(resource.string_property).to eq ["bla"]
|
127
|
-
resource_klass.schema.delete(:string_property)
|
124
|
+
expect(resource).not_to respond_to :string_property
|
128
125
|
end
|
129
126
|
end
|
130
127
|
|
@@ -134,11 +131,9 @@ RSpec.shared_examples 'a Valkyrie::Resource' do
|
|
134
131
|
|
135
132
|
resource = resource_klass.new
|
136
133
|
|
134
|
+
expect(resource.attributes).to be_frozen
|
137
135
|
expect(resource.attributes).to have_key(:bla)
|
138
136
|
expect(resource.attributes[:internal_resource]).to eq resource_klass.to_s
|
139
|
-
expect { resource.attributes[:internal_resource] = "bla" }.to output(/\[DEPRECATION\]/).to_stderr
|
140
|
-
expect { resource.attributes.delete_if { true } }.to output(/\[DEPRECATION\]/).to_stderr
|
141
|
-
expect { resource.attributes.delete(:internal_resource) }.to output(/\[DEPRECATION\]/).to_stderr
|
142
137
|
expect { resource.attributes.dup[:internal_resource] = "bla" }.not_to output.to_stderr
|
143
138
|
|
144
139
|
resource_klass.schema.delete(:bla)
|
@@ -11,7 +11,7 @@ RSpec.shared_examples 'a Valkyrie::Persistence::Solr::Indexer' do |*_flags|
|
|
11
11
|
}
|
12
12
|
end
|
13
13
|
let(:resource) do
|
14
|
-
|
14
|
+
Resource.new(
|
15
15
|
id: "1",
|
16
16
|
internal_resource: 'Resource',
|
17
17
|
attributes: attributes
|
@@ -20,7 +20,7 @@ RSpec.shared_examples 'a Valkyrie::Persistence::Solr::Indexer' do |*_flags|
|
|
20
20
|
let(:indexer) { described_class.new(resource: resource) }
|
21
21
|
|
22
22
|
before do
|
23
|
-
class
|
23
|
+
class Resource < Valkyrie::Resource
|
24
24
|
attribute :title, Valkyrie::Types::Set
|
25
25
|
attribute :author, Valkyrie::Types::Set
|
26
26
|
attribute :birthday, Valkyrie::Types::DateTime.optional
|
@@ -29,7 +29,7 @@ RSpec.shared_examples 'a Valkyrie::Persistence::Solr::Indexer' do |*_flags|
|
|
29
29
|
end
|
30
30
|
|
31
31
|
after do
|
32
|
-
|
32
|
+
Object.send(:remove_const, :Resource)
|
33
33
|
end
|
34
34
|
|
35
35
|
describe '#to_solr' do
|
@@ -5,11 +5,11 @@ RSpec.shared_examples 'a Valkyrie::StorageAdapter' do
|
|
5
5
|
defined? storage_adapter
|
6
6
|
raise 'file must be set with `let(:file)`' unless
|
7
7
|
defined? file
|
8
|
-
class
|
8
|
+
class CustomResource < Valkyrie::Resource
|
9
9
|
end
|
10
10
|
end
|
11
11
|
after do
|
12
|
-
|
12
|
+
Object.send(:remove_const, :CustomResource)
|
13
13
|
end
|
14
14
|
subject { storage_adapter }
|
15
15
|
it { is_expected.to respond_to(:handles?).with_keywords(:id) }
|
@@ -17,24 +17,11 @@ RSpec.shared_examples 'a Valkyrie::StorageAdapter' do
|
|
17
17
|
it { is_expected.to respond_to(:delete).with_keywords(:id) }
|
18
18
|
it { is_expected.to respond_to(:upload).with_keywords(:file, :resource, :original_filename) }
|
19
19
|
|
20
|
-
it "can upload a file which is just an IO" do
|
21
|
-
io_file = Tempfile.new('temp_io')
|
22
|
-
io_file.write "Stuff"
|
23
|
-
io_file.rewind
|
24
|
-
sha1 = Digest::SHA1.file(io_file).to_s
|
25
|
-
|
26
|
-
resource = Valkyrie::Specs::CustomResource.new(id: SecureRandom.uuid)
|
27
|
-
|
28
|
-
expect(uploaded_file = storage_adapter.upload(file: io_file, original_filename: 'foo.jpg', resource: resource, fake_upload_argument: true)).to be_kind_of Valkyrie::StorageAdapter::File
|
29
|
-
|
30
|
-
expect(uploaded_file.valid?(digests: { sha1: sha1 })).to be true
|
31
|
-
end
|
32
|
-
|
33
20
|
it "can upload, validate, re-fetch, and delete a file" do
|
34
|
-
resource =
|
21
|
+
resource = CustomResource.new(id: "test")
|
35
22
|
sha1 = Digest::SHA1.file(file).to_s
|
36
23
|
size = file.size
|
37
|
-
expect(uploaded_file = storage_adapter.upload(file: file, original_filename: 'foo.jpg', resource: resource
|
24
|
+
expect(uploaded_file = storage_adapter.upload(file: file, original_filename: 'foo.jpg', resource: resource)).to be_kind_of Valkyrie::StorageAdapter::File
|
38
25
|
|
39
26
|
expect(uploaded_file).to respond_to(:checksum).with_keywords(:digests)
|
40
27
|
expect(uploaded_file).to respond_to(:valid?).with_keywords(:size, :digests)
|
@@ -12,9 +12,8 @@ module Valkyrie::Storage
|
|
12
12
|
# @param file [IO]
|
13
13
|
# @param original_filename [String]
|
14
14
|
# @param resource [Valkyrie::Resource]
|
15
|
-
# @param _extra_arguments [Hash] additional arguments which may be passed to other adapters
|
16
15
|
# @return [Valkyrie::StorageAdapter::File]
|
17
|
-
def upload(file:, original_filename:, resource: nil
|
16
|
+
def upload(file:, original_filename:, resource: nil)
|
18
17
|
new_path = path_generator.generate(resource: resource, file: file, original_filename: original_filename)
|
19
18
|
FileUtils.mkdir_p(new_path.parent)
|
20
19
|
file_mover.call(file.path, new_path)
|
@@ -4,15 +4,12 @@ module Valkyrie::Storage
|
|
4
4
|
class Fedora
|
5
5
|
attr_reader :connection, :base_path, :fedora_version
|
6
6
|
PROTOCOL = 'fedora://'
|
7
|
-
SLASH = '/'
|
8
7
|
|
9
8
|
# @param [Ldp::Client] connection
|
10
|
-
def initialize(connection:, base_path: "/", fedora_version:
|
9
|
+
def initialize(connection:, base_path: "/", fedora_version: 5)
|
11
10
|
@connection = connection
|
12
11
|
@base_path = base_path
|
13
12
|
@fedora_version = fedora_version
|
14
|
-
|
15
|
-
warn "[DEPRECATION] `fedora_version` will default to 5 in the next major release." unless fedora_version
|
16
13
|
end
|
17
14
|
|
18
15
|
# @param id [Valkyrie::ID]
|
@@ -32,22 +29,17 @@ module Valkyrie::Storage
|
|
32
29
|
# @param file [IO]
|
33
30
|
# @param original_filename [String]
|
34
31
|
# @param resource [Valkyrie::Resource]
|
35
|
-
# @param content_type [String] content type of file (e.g. 'image/tiff') (default='application/octet-stream')
|
36
|
-
# @param resource_uri_transformer [Lambda] transforms the resource's id (e.g. 'DDS78RK') into a uri (optional)
|
37
|
-
# @param extra_arguments [Hash] additional arguments which may be passed to other adapters
|
38
32
|
# @return [Valkyrie::StorageAdapter::StreamFile]
|
39
|
-
def upload(file:, original_filename:, resource
|
40
|
-
|
41
|
-
identifier = resource_uri_transformer.call(resource, base_url) + '/original'
|
33
|
+
def upload(file:, original_filename:, resource:)
|
34
|
+
identifier = id_to_uri(resource.id) + '/original'
|
42
35
|
sha1 = fedora_version == 5 ? "sha" : "sha1"
|
43
36
|
connection.http.put do |request|
|
44
37
|
request.url identifier
|
45
|
-
request.headers['Content-Type'] = content_type
|
46
|
-
request.headers['Content-Length'] = file.length.to_s
|
38
|
+
request.headers['Content-Type'] = file.content_type
|
47
39
|
request.headers['Content-Disposition'] = "attachment; filename=\"#{original_filename}\""
|
48
40
|
request.headers['digest'] = "#{sha1}=#{Digest::SHA1.file(file)}"
|
49
41
|
request.headers['link'] = "<http://www.w3.org/ns/ldp#NonRDFSource>; rel=\"type\""
|
50
|
-
io = Faraday::UploadIO.new(file, content_type
|
42
|
+
io = Faraday::UploadIO.new(file.tempfile.path, file.content_type)
|
51
43
|
request.body = io
|
52
44
|
end
|
53
45
|
find_by(id: Valkyrie::ID.new(identifier.to_s.sub(/^.+\/\//, PROTOCOL)))
|
@@ -76,13 +68,6 @@ module Valkyrie::Storage
|
|
76
68
|
end
|
77
69
|
private_constant :IOProxy
|
78
70
|
|
79
|
-
# Translate the Valkrie ID into a URL for the fedora file
|
80
|
-
# @return [RDF::URI]
|
81
|
-
def fedora_identifier(id:)
|
82
|
-
identifier = id.to_s.sub(PROTOCOL, "#{connection.http.scheme}://")
|
83
|
-
RDF::URI(identifier)
|
84
|
-
end
|
85
|
-
|
86
71
|
private
|
87
72
|
|
88
73
|
# @return [IOProxy]
|
@@ -92,17 +77,19 @@ module Valkyrie::Storage
|
|
92
77
|
IOProxy.new(response.body)
|
93
78
|
end
|
94
79
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
80
|
+
# Translate the Valkrie ID into a URL for the fedora file
|
81
|
+
# @return [RDF::URI]
|
82
|
+
def fedora_identifier(id:)
|
83
|
+
identifier = id.to_s.sub(PROTOCOL, "#{connection.http.scheme}://")
|
84
|
+
RDF::URI(identifier)
|
85
|
+
end
|
86
|
+
|
87
|
+
def id_to_uri(id)
|
88
|
+
RDF::URI("#{connection_prefix}/#{CGI.escape(id.to_s)}")
|
100
89
|
end
|
101
90
|
|
102
|
-
def
|
103
|
-
|
104
|
-
post_divider = base_path.ends_with?(SLASH) ? '' : SLASH
|
105
|
-
"#{connection.http.url_prefix}#{pre_divider}#{base_path}#{post_divider}"
|
91
|
+
def connection_prefix
|
92
|
+
"#{connection.http.url_prefix}/#{base_path}"
|
106
93
|
end
|
107
94
|
end
|
108
95
|
end
|
@@ -13,9 +13,8 @@ module Valkyrie::Storage
|
|
13
13
|
# @param file [IO]
|
14
14
|
# @param original_filename [String]
|
15
15
|
# @param resource [Valkyrie::Resource]
|
16
|
-
# @param _extra_arguments [Hash] additional arguments which may be passed to other adapters
|
17
16
|
# @return [Valkyrie::StorageAdapter::StreamFile]
|
18
|
-
def upload(file:, original_filename:, resource: nil
|
17
|
+
def upload(file:, original_filename:, resource: nil)
|
19
18
|
identifier = Valkyrie::ID.new("memory://#{resource.id}")
|
20
19
|
cache[identifier] = Valkyrie::StorageAdapter::StreamFile.new(id: identifier, io: file)
|
21
20
|
end
|
data/lib/valkyrie/types.rb
CHANGED
@@ -61,8 +61,7 @@ module Valkyrie
|
|
61
61
|
# Used for casting {Valkyrie::Resources} if possible.
|
62
62
|
Anything = Valkyrie::Types::Any.constructor do |value|
|
63
63
|
if value.respond_to?(:fetch) && value.fetch(:internal_resource, nil)
|
64
|
-
|
65
|
-
resource_klass.new(value)
|
64
|
+
value.fetch(:internal_resource).constantize.new(value)
|
66
65
|
else
|
67
66
|
value
|
68
67
|
end
|
@@ -97,12 +96,11 @@ module Valkyrie
|
|
97
96
|
super.default([].freeze)
|
98
97
|
end
|
99
98
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
super.default([].freeze)
|
99
|
+
# Override optional to provide a default because without it an
|
100
|
+
# instantiated Valkyrie::Resource's internal hash does not have values for
|
101
|
+
# every possible attribute, resulting in `MissingAttributeError`.
|
102
|
+
def optional
|
103
|
+
super.default(nil)
|
106
104
|
end
|
107
105
|
end
|
108
106
|
Array.singleton_class.include(ArrayDefault)
|
@@ -113,21 +111,5 @@ module Valkyrie
|
|
113
111
|
SingleValuedString = Valkyrie::Types::String.constructor do |value|
|
114
112
|
::Array.wrap(value).first.to_s
|
115
113
|
end
|
116
|
-
Valkyrie::Types::Integer = Dry::Types["int"]
|
117
|
-
Valkyrie::Types::Coercible::Integer = Dry::Types["coercible.int"]
|
118
|
-
Int = Dry::Types["int"].constructor do |value|
|
119
|
-
warn "[DEPRECATION] Valkyrie::Types::Int has been renamed in dry-types and this " \
|
120
|
-
"reference will be removed in the next major version of Valkyrie. Please use " \
|
121
|
-
"Valkyrie::Types::Integer instead. " \
|
122
|
-
"Called from #{Gem.location_of_caller.join(':')}"
|
123
|
-
Dry::Types["int"][value]
|
124
|
-
end
|
125
|
-
Coercible::Int = Dry::Types["coercible.int"].constructor do |value|
|
126
|
-
warn "[DEPRECATION] Valkyrie::Types::Coercible::Int has been renamed in dry-types and this " \
|
127
|
-
"reference will be removed in the next major version of Valkyrie. Please use " \
|
128
|
-
"Valkyrie::Types::Coercible::Integer instead. " \
|
129
|
-
"Called from #{Gem.location_of_caller.join(':')}"
|
130
|
-
Dry::Types["coercible.int"][value]
|
131
|
-
end
|
132
114
|
end
|
133
115
|
end
|
data/lib/valkyrie/version.rb
CHANGED
data/solr/config/schema.xml
CHANGED
@@ -168,6 +168,7 @@
|
|
168
168
|
<fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
|
169
169
|
<analyzer>
|
170
170
|
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
171
|
+
<filter class="solr.StandardFilterFactory"/>
|
171
172
|
<filter class="solr.LowerCaseFilterFactory"/>
|
172
173
|
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
|
173
174
|
</analyzer>
|
data/tasks/dev.rake
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
namespace :server do
|
4
4
|
desc "Start solr and fedora servers for testing"
|
5
5
|
task :test do
|
6
|
-
require 'rails'
|
7
6
|
require 'solr_wrapper'
|
8
7
|
require 'fcrepo_wrapper'
|
9
8
|
SolrWrapper.wrap(shared_solr_opts.merge(port: 8984, instance_dir: 'tmp/blacklight-core-test')) do |solr|
|
@@ -22,7 +21,6 @@ namespace :server do
|
|
22
21
|
|
23
22
|
desc "Cleanup test servers"
|
24
23
|
task :clean_test do
|
25
|
-
require 'rails'
|
26
24
|
require 'solr_wrapper'
|
27
25
|
require 'fcrepo_wrapper'
|
28
26
|
SolrWrapper.instance(shared_solr_opts.merge(port: 8984, instance_dir: 'tmp/blacklight-core-test')).remove_instance_dir!
|
@@ -33,7 +31,6 @@ namespace :server do
|
|
33
31
|
|
34
32
|
desc "Start solr and fedora servers for development"
|
35
33
|
task :development do
|
36
|
-
require 'rails'
|
37
34
|
require 'solr_wrapper'
|
38
35
|
require 'fcrepo_wrapper'
|
39
36
|
|
data/tasks/docker.rake
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'valkyrie'
|
3
3
|
|
4
|
-
if
|
4
|
+
if Rails.env.development? || Rails.env.test?
|
5
5
|
begin
|
6
6
|
require 'docker/stack/rake_task'
|
7
7
|
|
@@ -17,7 +17,7 @@ if Valkyrie.environment == "development" || Valkyrie.environment == "test"
|
|
17
17
|
|
18
18
|
desc 'Spin up test stack and run specs'
|
19
19
|
task :spec do
|
20
|
-
|
20
|
+
Rails.env = 'test'
|
21
21
|
Docker::Stack::Controller.new(project: 'valkyrie', cleanup: true).with_containers do
|
22
22
|
Rake::Task['db:create'].invoke
|
23
23
|
Rake::Task['db:migrate'].invoke
|
data/valkyrie.gemspec
CHANGED
@@ -11,7 +11,6 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ["tpendragon@princeton.edu"]
|
12
12
|
|
13
13
|
spec.summary = 'An ORM using the Data Mapper pattern, specifically built to solve Digital Repository use cases.'
|
14
|
-
spec.homepage = "https://github.com/samvera/valkyrie"
|
15
14
|
|
16
15
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
16
|
f.match(%r{^(test|spec|features)/})
|
@@ -23,9 +22,8 @@ Gem::Specification.new do |spec|
|
|
23
22
|
spec.add_dependency 'dry-struct'
|
24
23
|
spec.add_dependency 'draper'
|
25
24
|
spec.add_dependency 'activemodel'
|
26
|
-
spec.add_dependency 'dry-types', '~> 0.
|
25
|
+
spec.add_dependency 'dry-types', '~> 0.13.0'
|
27
26
|
spec.add_dependency 'rdf'
|
28
|
-
spec.add_dependency 'active-fedora'
|
29
27
|
spec.add_dependency 'activesupport'
|
30
28
|
spec.add_dependency 'activerecord'
|
31
29
|
spec.add_dependency 'railties' # To use generators and engines
|
@@ -34,9 +32,11 @@ Gem::Specification.new do |spec|
|
|
34
32
|
spec.add_dependency 'pg'
|
35
33
|
spec.add_dependency 'json-ld'
|
36
34
|
spec.add_dependency 'json'
|
35
|
+
spec.add_dependency 'active-triples'
|
37
36
|
spec.add_dependency 'ldp'
|
37
|
+
spec.add_dependency 'rsolr'
|
38
38
|
|
39
|
-
spec.add_development_dependency "bundler", "
|
39
|
+
spec.add_development_dependency "bundler", "~> 1.13"
|
40
40
|
spec.add_development_dependency "rake", "~> 10.0"
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
42
42
|
spec.add_development_dependency "pry"
|
@@ -44,12 +44,11 @@ Gem::Specification.new do |spec|
|
|
44
44
|
spec.add_development_dependency "pry-byebug"
|
45
45
|
spec.add_development_dependency "database_cleaner"
|
46
46
|
spec.add_development_dependency "simplecov"
|
47
|
+
spec.add_development_dependency "coveralls"
|
47
48
|
spec.add_development_dependency "bixby"
|
48
49
|
spec.add_development_dependency 'yard'
|
49
50
|
spec.add_development_dependency 'solr_wrapper'
|
50
51
|
spec.add_development_dependency 'fcrepo_wrapper'
|
51
52
|
spec.add_development_dependency 'docker-stack', '~> 0.2.6'
|
52
|
-
spec.add_development_dependency 'activerecord'
|
53
|
-
spec.add_development_dependency 'timecop'
|
54
|
-
spec.add_development_dependency 'appraisal'
|
53
|
+
spec.add_development_dependency 'activerecord', '~> 5.1.0'
|
55
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: valkyrie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.RC1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trey Pendragon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.13.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.13.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rdf
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: activesupport
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: activerecord
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: railties
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: reform
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -137,7 +137,7 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name: reform
|
140
|
+
name: reform-rails
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
@@ -151,7 +151,7 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: pg
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
@@ -165,7 +165,7 @@ dependencies:
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
168
|
+
name: json-ld
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
@@ -179,7 +179,7 @@ dependencies:
|
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name: json
|
182
|
+
name: json
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
@@ -193,7 +193,7 @@ dependencies:
|
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
196
|
+
name: active-triples
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
@@ -221,25 +221,33 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
224
|
+
name: rsolr
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
|
-
- - "
|
227
|
+
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
230
|
-
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: bundler
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - "~>"
|
231
242
|
- !ruby/object:Gem::Version
|
232
|
-
version: '
|
243
|
+
version: '1.13'
|
233
244
|
type: :development
|
234
245
|
prerelease: false
|
235
246
|
version_requirements: !ruby/object:Gem::Requirement
|
236
247
|
requirements:
|
237
|
-
- - "
|
238
|
-
- !ruby/object:Gem::Version
|
239
|
-
version: 1.16.0
|
240
|
-
- - "<"
|
248
|
+
- - "~>"
|
241
249
|
- !ruby/object:Gem::Version
|
242
|
-
version: '
|
250
|
+
version: '1.13'
|
243
251
|
- !ruby/object:Gem::Dependency
|
244
252
|
name: rake
|
245
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -339,7 +347,7 @@ dependencies:
|
|
339
347
|
- !ruby/object:Gem::Version
|
340
348
|
version: '0'
|
341
349
|
- !ruby/object:Gem::Dependency
|
342
|
-
name:
|
350
|
+
name: coveralls
|
343
351
|
requirement: !ruby/object:Gem::Requirement
|
344
352
|
requirements:
|
345
353
|
- - ">="
|
@@ -353,7 +361,7 @@ dependencies:
|
|
353
361
|
- !ruby/object:Gem::Version
|
354
362
|
version: '0'
|
355
363
|
- !ruby/object:Gem::Dependency
|
356
|
-
name:
|
364
|
+
name: bixby
|
357
365
|
requirement: !ruby/object:Gem::Requirement
|
358
366
|
requirements:
|
359
367
|
- - ">="
|
@@ -367,7 +375,7 @@ dependencies:
|
|
367
375
|
- !ruby/object:Gem::Version
|
368
376
|
version: '0'
|
369
377
|
- !ruby/object:Gem::Dependency
|
370
|
-
name:
|
378
|
+
name: yard
|
371
379
|
requirement: !ruby/object:Gem::Requirement
|
372
380
|
requirements:
|
373
381
|
- - ">="
|
@@ -381,7 +389,7 @@ dependencies:
|
|
381
389
|
- !ruby/object:Gem::Version
|
382
390
|
version: '0'
|
383
391
|
- !ruby/object:Gem::Dependency
|
384
|
-
name:
|
392
|
+
name: solr_wrapper
|
385
393
|
requirement: !ruby/object:Gem::Requirement
|
386
394
|
requirements:
|
387
395
|
- - ">="
|
@@ -395,21 +403,7 @@ dependencies:
|
|
395
403
|
- !ruby/object:Gem::Version
|
396
404
|
version: '0'
|
397
405
|
- !ruby/object:Gem::Dependency
|
398
|
-
name:
|
399
|
-
requirement: !ruby/object:Gem::Requirement
|
400
|
-
requirements:
|
401
|
-
- - "~>"
|
402
|
-
- !ruby/object:Gem::Version
|
403
|
-
version: 0.2.6
|
404
|
-
type: :development
|
405
|
-
prerelease: false
|
406
|
-
version_requirements: !ruby/object:Gem::Requirement
|
407
|
-
requirements:
|
408
|
-
- - "~>"
|
409
|
-
- !ruby/object:Gem::Version
|
410
|
-
version: 0.2.6
|
411
|
-
- !ruby/object:Gem::Dependency
|
412
|
-
name: activerecord
|
406
|
+
name: fcrepo_wrapper
|
413
407
|
requirement: !ruby/object:Gem::Requirement
|
414
408
|
requirements:
|
415
409
|
- - ">="
|
@@ -423,33 +417,33 @@ dependencies:
|
|
423
417
|
- !ruby/object:Gem::Version
|
424
418
|
version: '0'
|
425
419
|
- !ruby/object:Gem::Dependency
|
426
|
-
name:
|
420
|
+
name: docker-stack
|
427
421
|
requirement: !ruby/object:Gem::Requirement
|
428
422
|
requirements:
|
429
|
-
- - "
|
423
|
+
- - "~>"
|
430
424
|
- !ruby/object:Gem::Version
|
431
|
-
version:
|
425
|
+
version: 0.2.6
|
432
426
|
type: :development
|
433
427
|
prerelease: false
|
434
428
|
version_requirements: !ruby/object:Gem::Requirement
|
435
429
|
requirements:
|
436
|
-
- - "
|
430
|
+
- - "~>"
|
437
431
|
- !ruby/object:Gem::Version
|
438
|
-
version:
|
432
|
+
version: 0.2.6
|
439
433
|
- !ruby/object:Gem::Dependency
|
440
|
-
name:
|
434
|
+
name: activerecord
|
441
435
|
requirement: !ruby/object:Gem::Requirement
|
442
436
|
requirements:
|
443
|
-
- - "
|
437
|
+
- - "~>"
|
444
438
|
- !ruby/object:Gem::Version
|
445
|
-
version:
|
439
|
+
version: 5.1.0
|
446
440
|
type: :development
|
447
441
|
prerelease: false
|
448
442
|
version_requirements: !ruby/object:Gem::Requirement
|
449
443
|
requirements:
|
450
|
-
- - "
|
444
|
+
- - "~>"
|
451
445
|
- !ruby/object:Gem::Version
|
452
|
-
version:
|
446
|
+
version: 5.1.0
|
453
447
|
description:
|
454
448
|
email:
|
455
449
|
- tpendragon@princeton.edu
|
@@ -465,16 +459,11 @@ files:
|
|
465
459
|
- ".rspec"
|
466
460
|
- ".rubocop.yml"
|
467
461
|
- ".rubocop_todo.yml"
|
468
|
-
- ".tool-versions"
|
469
|
-
- Appraisals
|
470
462
|
- CHANGELOG.md
|
471
|
-
- CODE_OF_CONDUCT.md
|
472
|
-
- CONTRIBUTING.md
|
473
463
|
- Gemfile
|
474
464
|
- LICENSE
|
475
465
|
- README.md
|
476
466
|
- Rakefile
|
477
|
-
- SUPPORT.md
|
478
467
|
- bin/console
|
479
468
|
- bin/jetty_wait
|
480
469
|
- bin/rspec
|
@@ -492,8 +481,6 @@ files:
|
|
492
481
|
- db/migrate/20180802220739_add_optimistic_locking_to_orm_resources.rb
|
493
482
|
- db/schema.rb
|
494
483
|
- db/seeds.rb
|
495
|
-
- gemfiles/activerecord_5_1.gemfile
|
496
|
-
- gemfiles/activerecord_5_2.gemfile
|
497
484
|
- lib/config/database_connection.rb
|
498
485
|
- lib/generators/valkyrie/resource_generator.rb
|
499
486
|
- lib/generators/valkyrie/templates/resource.rb.erb
|
@@ -598,7 +585,7 @@ files:
|
|
598
585
|
- tasks/docker.rake
|
599
586
|
- valkyrie.gemspec
|
600
587
|
- valkyrie_logo.png
|
601
|
-
homepage:
|
588
|
+
homepage:
|
602
589
|
licenses: []
|
603
590
|
metadata: {}
|
604
591
|
post_install_message:
|
@@ -612,9 +599,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
612
599
|
version: '0'
|
613
600
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
614
601
|
requirements:
|
615
|
-
- - "
|
602
|
+
- - ">"
|
616
603
|
- !ruby/object:Gem::Version
|
617
|
-
version:
|
604
|
+
version: 1.3.1
|
618
605
|
requirements: []
|
619
606
|
rubyforge_project:
|
620
607
|
rubygems_version: 2.7.6
|