hyrax 3.0.0.pre.beta1 → 3.0.0.pre.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +157 -68
- data/.travis.yml +4 -1
- data/Gemfile +1 -0
- data/README.md +3 -3
- data/app/actors/hyrax/actors/collections_membership_actor.rb +5 -55
- data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +6 -8
- data/app/actors/hyrax/actors/environment.rb +15 -0
- data/app/actors/hyrax/actors/interpret_visibility_actor.rb +22 -37
- data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +1 -1
- data/app/assets/stylesheets/hyrax/_collections.scss +5 -3
- data/app/assets/stylesheets/hyrax/dashboard.scss +3 -3
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +21 -2
- data/app/controllers/hyrax/homepage_controller.rb +1 -1
- data/app/forms/hyrax/forms/work_form.rb +1 -1
- data/app/helpers/hyrax/collections_helper.rb +13 -0
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +3 -3
- data/app/indexers/hyrax/admin_set_indexer.rb +1 -1
- data/app/indexers/hyrax/basic_metadata_indexer.rb +1 -1
- data/app/indexers/hyrax/collection_indexer.rb +3 -3
- data/app/indexers/hyrax/deep_indexing_service.rb +12 -12
- data/app/indexers/hyrax/file_set_indexer.rb +1 -1
- data/app/indexers/hyrax/indexes_workflow.rb +4 -4
- data/app/indexers/hyrax/work_indexer.rb +1 -1
- data/app/models/concerns/hyrax/basic_metadata.rb +2 -0
- data/app/models/concerns/hyrax/collection_behavior.rb +3 -3
- data/app/models/concerns/hyrax/file_set/querying.rb +1 -1
- data/app/models/concerns/hyrax/human_readable_type.rb +2 -2
- data/app/models/concerns/hyrax/solr_document/characterization.rb +23 -23
- data/app/models/concerns/hyrax/solr_document/metadata.rb +3 -2
- data/app/models/concerns/hyrax/solr_document_behavior.rb +3 -3
- data/app/models/concerns/hyrax/user.rb +10 -2
- data/app/presenters/hyrax/work_show_presenter.rb +2 -2
- data/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +1 -1
- data/app/search_builders/hyrax/collection_search_builder.rb +1 -1
- data/app/search_builders/hyrax/deposit_search_builder.rb +1 -1
- data/app/search_builders/hyrax/embargo_search_builder.rb +1 -1
- data/app/search_builders/hyrax/lease_search_builder.rb +1 -1
- data/app/services/hyrax/default_middleware_stack.rb +0 -4
- data/app/services/hyrax/statistics/file_sets/by_format.rb +1 -1
- data/app/services/hyrax/statistics/works/by_resource_type.rb +1 -1
- data/app/services/hyrax/visibility_intention.rb +78 -0
- data/app/views/catalog/_index_list_default.html.erb +3 -3
- data/app/views/catalog/_thumbnail_list_collection.html.erb +3 -2
- data/app/views/hyrax/base/_attribute_rows.html.erb +1 -0
- data/app/views/hyrax/base/_form_files.html.erb +2 -2
- data/app/views/hyrax/base/_form_visibility_component.html.erb +1 -1
- data/app/views/hyrax/base/_show_actions.html.erb +6 -6
- data/app/views/hyrax/base/show.html.erb +2 -2
- data/app/views/hyrax/batch_edits/_check_all.html.erb +1 -1
- data/app/views/hyrax/batch_edits/_delete_selected.html.erb +1 -1
- data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/dashboard/show_admin.html.erb +4 -4
- data/app/views/records/show_fields/_based_near.html.erb +1 -1
- data/app/views/records/show_fields/_creator.html.erb +1 -1
- data/app/views/records/show_fields/_keyword.html.erb +1 -1
- data/app/views/records/show_fields/_language.html.erb +1 -1
- data/app/views/records/show_fields/_publisher.html.erb +1 -1
- data/app/views/records/show_fields/_resource_type.html.erb +1 -1
- data/app/views/records/show_fields/_subject.html.erb +1 -1
- data/config/initializers/samvera-nesting_indexer_initializer.rb +3 -3
- data/config/locales/hyrax.de.yml +35 -22
- data/config/locales/hyrax.en.yml +22 -2
- data/config/locales/hyrax.es.yml +21 -1
- data/config/locales/hyrax.fr.yml +21 -1
- data/config/locales/hyrax.it.yml +21 -1
- data/config/locales/hyrax.pt-BR.yml +21 -1
- data/config/locales/hyrax.zh.yml +21 -1
- data/hyrax.gemspec +7 -9
- data/lib/generators/hyrax/templates/catalog_controller.rb +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +10 -10
- data/lib/generators/hyrax/work/templates/locale.pt-BR.yml.erb +1 -1
- data/lib/hyrax/configuration.rb +18 -0
- data/lib/hyrax/engine.rb +8 -0
- data/lib/hyrax/transactions/container.rb +6 -0
- data/lib/hyrax/transactions/destroy_work.rb +21 -0
- data/lib/hyrax/transactions/steps/destroy_work.rb +24 -0
- data/lib/hyrax/version.rb +1 -1
- data/lib/wings.rb +45 -0
- data/lib/wings/active_fedora_converter.rb +56 -0
- data/lib/wings/model_transformer.rb +158 -0
- data/lib/wings/resource_factory.rb +8 -0
- data/lib/wings/valkyrie/metadata_adapter.rb +29 -0
- data/lib/wings/valkyrie/persister.rb +50 -0
- data/lib/wings/valkyrie/query_service.rb +43 -0
- data/lib/wings/valkyrie/resource_factory.rb +45 -0
- data/lib/wings/valkyrizable.rb +24 -0
- data/lib/wings/value_mapper.rb +59 -0
- data/spec/abilities/collection_ability_spec.rb +5 -5
- data/spec/abilities/permission_template_ability_spec.rb +1 -1
- data/spec/actors/hyrax/actors/collections_membership_actor_spec.rb +6 -175
- data/spec/actors/hyrax/actors/create_with_remote_files_ordered_members_actor_spec.rb +30 -22
- data/spec/actors/hyrax/actors/interpret_visibility_actor_spec.rb +2 -0
- data/spec/controllers/catalog_controller_spec.rb +1 -1
- data/spec/controllers/hyrax/admin/collection_types_controller_spec.rb +1 -1
- data/spec/controllers/hyrax/batch_edits_controller_spec.rb +9 -9
- data/spec/controllers/hyrax/collections_controller_spec.rb +5 -5
- data/spec/controllers/hyrax/dashboard/collection_members_controller_spec.rb +16 -13
- data/spec/controllers/hyrax/dashboard/collections_controller_spec.rb +9 -9
- data/spec/controllers/hyrax/dashboard/nest_collections_controller_spec.rb +1 -1
- data/spec/controllers/hyrax/generic_works_controller_spec.rb +10 -1
- data/spec/controllers/hyrax/homepage_controller_spec.rb +3 -3
- data/spec/controllers/hyrax/my/shares_controller_spec.rb +1 -1
- data/spec/features/actor_stack_spec.rb +48 -0
- data/spec/features/catalog_search_spec.rb +2 -2
- data/spec/features/collection_multi_membership_spec.rb +2 -2
- data/spec/features/collection_spec.rb +7 -7
- data/spec/features/collection_type_spec.rb +2 -2
- data/spec/features/dashboard/collection_spec.rb +18 -18
- data/spec/features/delete_work_spec.rb +1 -1
- data/spec/features/search_spec.rb +2 -2
- data/spec/features/work_show_spec.rb +5 -2
- data/spec/forms/hyrax/forms/batch_upload_form_spec.rb +1 -0
- data/spec/forms/hyrax/forms/collection_form_spec.rb +5 -5
- data/spec/forms/hyrax/forms/permission_template_form_spec.rb +1 -1
- data/spec/forms/hyrax/forms/work_form_spec.rb +2 -0
- data/spec/helpers/blacklight_helper_spec.rb +3 -1
- data/spec/helpers/hyrax/collections_helper_spec.rb +42 -0
- data/spec/helpers/hyrax/dashboard_helper_behavior_spec.rb +4 -4
- data/spec/helpers/hyrax_helper_spec.rb +8 -4
- data/spec/hyrax/transactions/destroy_work_spec.rb +35 -0
- data/spec/hyrax/transactions/steps/destroy_work_spec.rb +33 -0
- data/spec/indexers/hyrax/collection_indexer_spec.rb +1 -1
- data/spec/jobs/characterize_job_spec.rb +1 -1
- data/spec/lib/hyrax/resource_sync/change_list_writer_spec.rb +35 -21
- data/spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb +1 -1
- data/spec/models/collection_spec.rb +18 -18
- data/spec/models/concerns/hyrax/collection_nesting_spec.rb +2 -2
- data/spec/models/file_set_spec.rb +2 -2
- data/spec/models/hyrax/collection_type_spec.rb +2 -2
- data/spec/models/user_spec.rb +26 -1
- data/spec/presenters/hyrax/collection_presenter_spec.rb +11 -11
- data/spec/presenters/hyrax/work_show_presenter_spec.rb +11 -0
- data/spec/search_builders/hyrax/collection_member_search_builder_spec.rb +1 -1
- data/spec/search_builders/hyrax/collection_search_builder_spec.rb +1 -1
- data/spec/search_builders/hyrax/dashboard/nested_collections_search_builder_spec.rb +1 -1
- data/spec/search_builders/hyrax/work_relation_spec.rb +1 -1
- data/spec/services/hyrax/adapters/nesting_index_adapter_spec.rb +2 -2
- data/spec/services/hyrax/collections/collection_member_service_spec.rb +2 -2
- data/spec/services/hyrax/collections/migration_service_spec.rb +27 -27
- data/spec/services/hyrax/collections/nested_collection_persistence_service_spec.rb +1 -1
- data/spec/services/hyrax/collections/nested_collection_query_service_spec.rb +38 -38
- data/spec/services/hyrax/curation_concern_spec.rb +1 -1
- data/spec/services/hyrax/default_middleware_stack_spec.rb +1 -2
- data/spec/services/hyrax/statistics/depositors/summary_spec.rb +1 -1
- data/spec/services/hyrax/statistics/works/by_resource_type_spec.rb +11 -4
- data/spec/services/hyrax/visibility_intention_spec.rb +144 -0
- data/spec/services/hyrax/workflow/changes_required_notification_spec.rb +1 -1
- data/spec/spec_helper.rb +10 -8
- data/spec/support/selectors.rb +10 -1
- data/spec/test_app_templates/Gemfile.extra +2 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +6 -0
- data/spec/views/catalog/_index_list_default.html.erb_spec.rb +3 -2
- data/spec/views/catalog/_thumbnail_list_collection.html.erb_spec.rb +38 -5
- data/spec/views/hyrax/base/_attributes.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/base/_show_actions.html.erb_spec.rb +9 -9
- data/spec/views/hyrax/base/show.html.erb_spec.rb +3 -2
- data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +3 -2
- data/spec/views/hyrax/dashboard/collections/_show_document_list_row.html.erb_spec.rb +3 -2
- data/spec/wings/active_fedora_converter_spec.rb +31 -0
- data/spec/wings/model_transformer_spec.rb +288 -0
- data/spec/wings/valkyrie/metadata_adapter_spec.rb +10 -0
- data/spec/wings/valkyrie/persister_spec.rb +71 -0
- data/spec/wings/valkyrie/query_service_spec.rb +81 -0
- data/spec/wings/valkyrie/resource_factory_spec.rb +32 -0
- data/spec/wings/value_mapper_spec.rb +60 -0
- data/spec/wings_spec.rb +8 -0
- data/template.rb +3 -1
- metadata +86 -36
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'valkyrie/specs/shared_specs'
|
4
|
+
require 'wings'
|
5
|
+
|
6
|
+
RSpec.describe Wings::Valkyrie::MetadataAdapter do
|
7
|
+
let(:adapter) { described_class.new }
|
8
|
+
|
9
|
+
it_behaves_like "a Valkyrie::MetadataAdapter"
|
10
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'valkyrie/specs/shared_specs'
|
4
|
+
require 'wings'
|
5
|
+
|
6
|
+
RSpec.describe Wings::Valkyrie::Persister do
|
7
|
+
before do
|
8
|
+
class Book < ActiveFedora::Base
|
9
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: true
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
after do
|
14
|
+
Object.send(:remove_const, :Book)
|
15
|
+
end
|
16
|
+
|
17
|
+
subject(:persister) { described_class.new(adapter: adapter) }
|
18
|
+
let(:adapter) { Wings::Valkyrie::MetadataAdapter.new }
|
19
|
+
let(:query_service) { adapter.query_service }
|
20
|
+
let(:af_resource_class) { Book }
|
21
|
+
let(:resource_class) { Wings::ModelTransformer.to_valkyrie_resource_class(klass: af_resource_class) }
|
22
|
+
let(:resource) { resource_class.new(title: ['Foo']) }
|
23
|
+
|
24
|
+
# it_behaves_like "a Valkyrie::Persister"
|
25
|
+
|
26
|
+
it { is_expected.to respond_to(:save).with_keywords(:resource) }
|
27
|
+
xit { is_expected.to respond_to(:save_all).with_keywords(:resources) }
|
28
|
+
xit { is_expected.to respond_to(:delete).with_keywords(:resource) }
|
29
|
+
|
30
|
+
it "can save a resource" do
|
31
|
+
expect(resource).not_to be_persisted
|
32
|
+
saved = persister.save(resource: resource)
|
33
|
+
# expect(saved).to be_persisted
|
34
|
+
expect(saved.id).not_to be_blank
|
35
|
+
end
|
36
|
+
|
37
|
+
xit "stores created_at/updated_at" do
|
38
|
+
book = persister.save(resource: resource)
|
39
|
+
book.title = ["test"]
|
40
|
+
book = persister.save(resource: book)
|
41
|
+
expect(book.created_at).not_to be_blank
|
42
|
+
expect(book.updated_at).not_to be_blank
|
43
|
+
expect(book.created_at).not_to be_kind_of Array
|
44
|
+
expect(book.updated_at).not_to be_kind_of Array
|
45
|
+
expect(book.updated_at > book.created_at).to eq true
|
46
|
+
end
|
47
|
+
|
48
|
+
xit "can override default id generation with a provided id" do
|
49
|
+
id = SecureRandom.uuid
|
50
|
+
book = persister.save(resource: resource_class.new(id: id, title: ['Foo']))
|
51
|
+
reloaded = query_service.find_by(id: book.id)
|
52
|
+
expect(reloaded.id).to eq Valkyrie::ID.new(id)
|
53
|
+
expect(reloaded).to be_persisted
|
54
|
+
expect(reloaded.created_at).not_to be_blank
|
55
|
+
expect(reloaded.updated_at).not_to be_blank
|
56
|
+
expect(reloaded.created_at).not_to be_kind_of Array
|
57
|
+
expect(reloaded.updated_at).not_to be_kind_of Array
|
58
|
+
end
|
59
|
+
|
60
|
+
it "doesn't override a resource that already has an ID" do
|
61
|
+
book = persister.save(resource: resource_class.new(title: ['Foo']))
|
62
|
+
id = book.id
|
63
|
+
output = persister.save(resource: book)
|
64
|
+
expect(output.id).to eq id
|
65
|
+
end
|
66
|
+
|
67
|
+
it "can find that resource again" do
|
68
|
+
id = persister.save(resource: resource).id
|
69
|
+
expect(query_service.find_by(id: id).internal_resource).to eq resource.internal_resource
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'valkyrie/specs/shared_specs'
|
4
|
+
require 'wings'
|
5
|
+
|
6
|
+
RSpec.describe Wings::Valkyrie::QueryService do
|
7
|
+
before do
|
8
|
+
class Book < ActiveFedora::Base
|
9
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: true
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
after do
|
14
|
+
Object.send(:remove_const, :Book)
|
15
|
+
end
|
16
|
+
|
17
|
+
subject(:query_service) { described_class.new(adapter: adapter) }
|
18
|
+
let(:adapter) { Wings::Valkyrie::MetadataAdapter.new }
|
19
|
+
let(:persister) { Wings::Valkyrie::Persister.new(adapter: adapter) }
|
20
|
+
let(:af_resource_class) { Book }
|
21
|
+
let(:resource_class) { Wings::ModelTransformer.to_valkyrie_resource_class(klass: af_resource_class) }
|
22
|
+
let(:resource) { resource_class.new(title: ['Foo']) }
|
23
|
+
|
24
|
+
# it_behaves_like "a Valkyrie query provider"
|
25
|
+
|
26
|
+
it 'responds to expected methods' do
|
27
|
+
expect(subject).to respond_to(:find_by).with_keywords(:id)
|
28
|
+
expect(subject).to respond_to(:resource_factory)
|
29
|
+
end
|
30
|
+
|
31
|
+
describe ".find_by" do
|
32
|
+
it "returns a resource by id or string representation of an id" do
|
33
|
+
book = persister.save(resource: resource)
|
34
|
+
|
35
|
+
found = query_service.find_by(id: book.id)
|
36
|
+
expect(found.id).to eq book.id
|
37
|
+
# expect(found).to be_persisted
|
38
|
+
|
39
|
+
found = query_service.find_by(id: book.id.to_s)
|
40
|
+
expect(found.id).to eq book.id
|
41
|
+
# expect(found).to be_persisted
|
42
|
+
end
|
43
|
+
|
44
|
+
it "returns a Valkyrie::Persistence::ObjectNotFoundError for a non-found ID" do
|
45
|
+
expect { query_service.find_by(id: ::Valkyrie::ID.new("123123123")) }.to raise_error ::Valkyrie::Persistence::ObjectNotFoundError
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'raises an error if the id is not a Valkyrie::ID or a string' do
|
49
|
+
expect { query_service.find_by(id: 123) }.to raise_error ArgumentError
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe ".register_query_handler" do
|
54
|
+
before do
|
55
|
+
class QueryHandler
|
56
|
+
def self.queries
|
57
|
+
[:find_by_user_id]
|
58
|
+
end
|
59
|
+
|
60
|
+
attr_reader :query_service
|
61
|
+
def initialize(query_service:)
|
62
|
+
@query_service = query_service
|
63
|
+
end
|
64
|
+
|
65
|
+
def find_by_user_id
|
66
|
+
1
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
after do
|
72
|
+
Object.send(:remove_const, :QueryHandler)
|
73
|
+
end
|
74
|
+
|
75
|
+
it "can register a query handler" do
|
76
|
+
query_service.custom_queries.register_query_handler(QueryHandler)
|
77
|
+
expect(query_service.custom_queries).to respond_to :find_by_user_id
|
78
|
+
expect(query_service.custom_queries.find_by_user_id).to eq 1
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'wings'
|
4
|
+
|
5
|
+
RSpec.describe Wings::Valkyrie::ResourceFactory do
|
6
|
+
subject(:factory) { described_class.new(adapter: adapter) }
|
7
|
+
let(:adapter) { Valkyrie::Persistence::Memory::MetadataAdapter.new }
|
8
|
+
let(:work) { GenericWork.new }
|
9
|
+
|
10
|
+
describe '#to_resource' do
|
11
|
+
it 'returns a valkyrie_resource for the object' do
|
12
|
+
expect(factory.to_resource(object: work)).to be_a Valkyrie::Resource
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#from_resource' do
|
17
|
+
let(:resource) { work.valkyrie_resource }
|
18
|
+
|
19
|
+
it 'returns an ActiveFedora object' do
|
20
|
+
expect(factory.from_resource(resource: resource)).to be_a GenericWork
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'with a FileSet' do
|
24
|
+
let(:resource) { file_set.valkyrie_resource }
|
25
|
+
let(:file_set) { FileSet.new }
|
26
|
+
|
27
|
+
it 'returns an ActiveFedora object' do
|
28
|
+
expect(factory.from_resource(resource: resource)).to be_a FileSet
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'wings/value_mapper'
|
4
|
+
|
5
|
+
RSpec.describe Wings::ValueMapper do
|
6
|
+
subject(:mapper) { described_class.for(value) }
|
7
|
+
let(:value) { 'a value' }
|
8
|
+
let(:uri) { RDF::URI('http://example.com/moomin') }
|
9
|
+
|
10
|
+
describe '.for' do
|
11
|
+
it 'returns a value mapper' do
|
12
|
+
expect(described_class.for(value)).to be_a described_class
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '.result' do
|
17
|
+
it 'returns the value by default' do
|
18
|
+
expect(mapper.result).to eq value
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'with an ActiveTriples::RDFSource URI value' do
|
22
|
+
let(:value) { ActiveTriples::Resource.new(uri) }
|
23
|
+
|
24
|
+
it 'casts to the RDF term' do
|
25
|
+
expect(mapper.result).to eq uri
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'with an ActiveTriples::RDFSource bnode value' do
|
30
|
+
let(:value) { ActiveTriples::Resource.new(node) }
|
31
|
+
let(:node) { RDF::Node.new }
|
32
|
+
|
33
|
+
it 'somehow manages to map the node?'
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'with an ActiveTriples::Relation value' do
|
37
|
+
let(:value) { work.source }
|
38
|
+
let(:work) { GenericWork.new(source: cast_values) }
|
39
|
+
let(:cast_values) { ['moomin', 1.125, :moomin, Time.now.utc, false, uri] }
|
40
|
+
|
41
|
+
it 'casts internal values' do
|
42
|
+
expect(mapper.result).to contain_exactly(*cast_values)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'with a URI value'
|
47
|
+
context 'with a blank node value'
|
48
|
+
context 'with a boolean value'
|
49
|
+
context 'with a date value'
|
50
|
+
context 'with a numeric value'
|
51
|
+
|
52
|
+
context 'with an enumerable value' do
|
53
|
+
let(:value) { ['a value'] }
|
54
|
+
|
55
|
+
it 'maps internal values' do
|
56
|
+
expect(mapper.result).to eq value
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/spec/wings_spec.rb
ADDED
data/template.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# Hack for https://github.com/rails/rails/issues/35153
|
2
|
+
gsub_file 'Gemfile', /^gem ["']sqlite3["']$/, 'gem "sqlite3", "~> 1.3.0"'
|
3
|
+
gem 'hyrax', '3.0.0-beta2'
|
2
4
|
run 'bundle install'
|
3
5
|
generate 'hyrax:install', '-f'
|
4
6
|
rails_command 'db:migrate'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyrax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.pre.
|
4
|
+
version: 3.0.0.pre.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date:
|
17
|
+
date: 2019-03-11 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rails
|
@@ -36,20 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 11.5.2
|
39
|
+
version: '12.0'
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
44
|
- - "~>"
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 11.5.2
|
46
|
+
version: '12.0'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: almond-rails
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,14 +176,14 @@ dependencies:
|
|
182
176
|
requirements:
|
183
177
|
- - "~>"
|
184
178
|
- !ruby/object:Gem::Version
|
185
|
-
version: '0.
|
179
|
+
version: '0.4'
|
186
180
|
type: :runtime
|
187
181
|
prerelease: false
|
188
182
|
version_requirements: !ruby/object:Gem::Requirement
|
189
183
|
requirements:
|
190
184
|
- - "~>"
|
191
185
|
- !ruby/object:Gem::Version
|
192
|
-
version: '0.
|
186
|
+
version: '0.4'
|
193
187
|
- !ruby/object:Gem::Dependency
|
194
188
|
name: dry-transaction
|
195
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -300,14 +294,14 @@ dependencies:
|
|
300
294
|
requirements:
|
301
295
|
- - ">="
|
302
296
|
- !ruby/object:Gem::Version
|
303
|
-
version: 10.
|
297
|
+
version: 10.6.1
|
304
298
|
type: :runtime
|
305
299
|
prerelease: false
|
306
300
|
version_requirements: !ruby/object:Gem::Requirement
|
307
301
|
requirements:
|
308
302
|
- - ">="
|
309
303
|
- !ruby/object:Gem::Version
|
310
|
-
version: 10.
|
304
|
+
version: 10.6.1
|
311
305
|
- !ruby/object:Gem::Dependency
|
312
306
|
name: hydra-works
|
313
307
|
requirement: !ruby/object:Gem::Requirement
|
@@ -554,16 +548,22 @@ dependencies:
|
|
554
548
|
name: qa
|
555
549
|
requirement: !ruby/object:Gem::Requirement
|
556
550
|
requirements:
|
557
|
-
- - "
|
551
|
+
- - ">="
|
558
552
|
- !ruby/object:Gem::Version
|
559
|
-
version: '2
|
553
|
+
version: '2'
|
554
|
+
- - "<"
|
555
|
+
- !ruby/object:Gem::Version
|
556
|
+
version: '4'
|
560
557
|
type: :runtime
|
561
558
|
prerelease: false
|
562
559
|
version_requirements: !ruby/object:Gem::Requirement
|
563
560
|
requirements:
|
564
|
-
- - "
|
561
|
+
- - ">="
|
565
562
|
- !ruby/object:Gem::Version
|
566
|
-
version: '2
|
563
|
+
version: '2'
|
564
|
+
- - "<"
|
565
|
+
- !ruby/object:Gem::Version
|
566
|
+
version: '4'
|
567
567
|
- !ruby/object:Gem::Dependency
|
568
568
|
name: rails_autolink
|
569
569
|
requirement: !ruby/object:Gem::Requirement
|
@@ -696,6 +696,20 @@ dependencies:
|
|
696
696
|
- - "~>"
|
697
697
|
- !ruby/object:Gem::Version
|
698
698
|
version: '4.1'
|
699
|
+
- !ruby/object:Gem::Dependency
|
700
|
+
name: valkyrie
|
701
|
+
requirement: !ruby/object:Gem::Requirement
|
702
|
+
requirements:
|
703
|
+
- - "~>"
|
704
|
+
- !ruby/object:Gem::Version
|
705
|
+
version: 2.0.0.pre.rc3
|
706
|
+
type: :runtime
|
707
|
+
prerelease: false
|
708
|
+
version_requirements: !ruby/object:Gem::Requirement
|
709
|
+
requirements:
|
710
|
+
- - "~>"
|
711
|
+
- !ruby/object:Gem::Version
|
712
|
+
version: 2.0.0.pre.rc3
|
699
713
|
- !ruby/object:Gem::Dependency
|
700
714
|
name: capybara
|
701
715
|
requirement: !ruby/object:Gem::Requirement
|
@@ -730,6 +744,20 @@ dependencies:
|
|
730
744
|
- - "~>"
|
731
745
|
- !ruby/object:Gem::Version
|
732
746
|
version: 0.3.0
|
747
|
+
- !ruby/object:Gem::Dependency
|
748
|
+
name: chromedriver-helper
|
749
|
+
requirement: !ruby/object:Gem::Requirement
|
750
|
+
requirements:
|
751
|
+
- - "~>"
|
752
|
+
- !ruby/object:Gem::Version
|
753
|
+
version: '2.1'
|
754
|
+
type: :development
|
755
|
+
prerelease: false
|
756
|
+
version_requirements: !ruby/object:Gem::Requirement
|
757
|
+
requirements:
|
758
|
+
- - "~>"
|
759
|
+
- !ruby/object:Gem::Version
|
760
|
+
version: '2.1'
|
733
761
|
- !ruby/object:Gem::Dependency
|
734
762
|
name: database_cleaner
|
735
763
|
requirement: !ruby/object:Gem::Requirement
|
@@ -750,14 +778,14 @@ dependencies:
|
|
750
778
|
requirements:
|
751
779
|
- - "~>"
|
752
780
|
- !ruby/object:Gem::Version
|
753
|
-
version: '2.
|
781
|
+
version: '2.2'
|
754
782
|
type: :development
|
755
783
|
prerelease: false
|
756
784
|
version_requirements: !ruby/object:Gem::Requirement
|
757
785
|
requirements:
|
758
786
|
- - "~>"
|
759
787
|
- !ruby/object:Gem::Version
|
760
|
-
version: '2.
|
788
|
+
version: '2.2'
|
761
789
|
- !ruby/object:Gem::Dependency
|
762
790
|
name: equivalent-xml
|
763
791
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1054,20 +1082,6 @@ dependencies:
|
|
1054
1082
|
- - "<="
|
1055
1083
|
- !ruby/object:Gem::Version
|
1056
1084
|
version: 3.5.0
|
1057
|
-
- !ruby/object:Gem::Dependency
|
1058
|
-
name: chromedriver-helper
|
1059
|
-
requirement: !ruby/object:Gem::Requirement
|
1060
|
-
requirements:
|
1061
|
-
- - "<"
|
1062
|
-
- !ruby/object:Gem::Version
|
1063
|
-
version: '2.0'
|
1064
|
-
type: :development
|
1065
|
-
prerelease: false
|
1066
|
-
version_requirements: !ruby/object:Gem::Requirement
|
1067
|
-
requirements:
|
1068
|
-
- - "<"
|
1069
|
-
- !ruby/object:Gem::Version
|
1070
|
-
version: '2.0'
|
1071
1085
|
description: Hyrax is a featureful Samvera front-end based on the latest and greatest
|
1072
1086
|
Samvera software components.
|
1073
1087
|
email:
|
@@ -1719,6 +1733,7 @@ files:
|
|
1719
1733
|
- app/services/hyrax/tolerant_select_service.rb
|
1720
1734
|
- app/services/hyrax/user_stat_importer.rb
|
1721
1735
|
- app/services/hyrax/versioning_service.rb
|
1736
|
+
- app/services/hyrax/visibility_intention.rb
|
1722
1737
|
- app/services/hyrax/work_form_service.rb
|
1723
1738
|
- app/services/hyrax/work_query_service.rb
|
1724
1739
|
- app/services/hyrax/work_thumbnail_path_service.rb
|
@@ -2323,7 +2338,9 @@ files:
|
|
2323
2338
|
- lib/hyrax/transactions.rb
|
2324
2339
|
- lib/hyrax/transactions/container.rb
|
2325
2340
|
- lib/hyrax/transactions/create_work.rb
|
2341
|
+
- lib/hyrax/transactions/destroy_work.rb
|
2326
2342
|
- lib/hyrax/transactions/steps/apply_permission_template.rb
|
2343
|
+
- lib/hyrax/transactions/steps/destroy_work.rb
|
2327
2344
|
- lib/hyrax/transactions/steps/ensure_admin_set.rb
|
2328
2345
|
- lib/hyrax/transactions/steps/ensure_permission_template.rb
|
2329
2346
|
- lib/hyrax/transactions/steps/save_work.rb
|
@@ -2343,6 +2360,16 @@ files:
|
|
2343
2360
|
- lib/tasks/reindex.rake
|
2344
2361
|
- lib/tasks/stats_tasks.rake
|
2345
2362
|
- lib/tasks/workflow.rake
|
2363
|
+
- lib/wings.rb
|
2364
|
+
- lib/wings/active_fedora_converter.rb
|
2365
|
+
- lib/wings/model_transformer.rb
|
2366
|
+
- lib/wings/resource_factory.rb
|
2367
|
+
- lib/wings/valkyrie/metadata_adapter.rb
|
2368
|
+
- lib/wings/valkyrie/persister.rb
|
2369
|
+
- lib/wings/valkyrie/query_service.rb
|
2370
|
+
- lib/wings/valkyrie/resource_factory.rb
|
2371
|
+
- lib/wings/valkyrizable.rb
|
2372
|
+
- lib/wings/value_mapper.rb
|
2346
2373
|
- spec/.gitignore
|
2347
2374
|
- spec/abilities/ability_spec.rb
|
2348
2375
|
- spec/abilities/admin_ability_spec.rb
|
@@ -2478,6 +2505,7 @@ files:
|
|
2478
2505
|
- spec/factories/workflows.rb
|
2479
2506
|
- spec/factory_tests/adminsets_factory_spec.rb
|
2480
2507
|
- spec/factory_tests/collections_factory_spec.rb
|
2508
|
+
- spec/features/actor_stack_spec.rb
|
2481
2509
|
- spec/features/admin_spec.rb
|
2482
2510
|
- spec/features/batch_create_spec.rb
|
2483
2511
|
- spec/features/batch_edit_spec.rb
|
@@ -2571,7 +2599,9 @@ files:
|
|
2571
2599
|
- spec/helpers/hyrax/trophy_helper_spec.rb
|
2572
2600
|
- spec/helpers/hyrax_helper_spec.rb
|
2573
2601
|
- spec/hyrax/transactions/create_work_spec.rb
|
2602
|
+
- spec/hyrax/transactions/destroy_work_spec.rb
|
2574
2603
|
- spec/hyrax/transactions/steps/apply_permission_template_spec.rb
|
2604
|
+
- spec/hyrax/transactions/steps/destroy_work_spec.rb
|
2575
2605
|
- spec/hyrax/transactions/steps/ensure_admin_set_spec.rb
|
2576
2606
|
- spec/hyrax/transactions/steps/ensure_permission_template_spec.rb
|
2577
2607
|
- spec/hyrax/transactions/steps/save_work_spec.rb
|
@@ -2859,6 +2889,7 @@ files:
|
|
2859
2889
|
- spec/services/hyrax/tolerant_select_service_spec.rb
|
2860
2890
|
- spec/services/hyrax/user_stat_importer_spec.rb
|
2861
2891
|
- spec/services/hyrax/versioning_service_spec.rb
|
2892
|
+
- spec/services/hyrax/visibility_intention_spec.rb
|
2862
2893
|
- spec/services/hyrax/work_query_service_spec.rb
|
2863
2894
|
- spec/services/hyrax/workflow/action_taken_service_spec.rb
|
2864
2895
|
- spec/services/hyrax/workflow/activate_object_spec.rb
|
@@ -3040,6 +3071,14 @@ files:
|
|
3040
3071
|
- spec/views/records/edit_fields/_language.html.erb_spec.rb
|
3041
3072
|
- spec/views/records/edit_fields/_subject.html.erb_spec.rb
|
3042
3073
|
- spec/views/shared/select_work_type_modal.html.erb_spec.rb
|
3074
|
+
- spec/wings/active_fedora_converter_spec.rb
|
3075
|
+
- spec/wings/model_transformer_spec.rb
|
3076
|
+
- spec/wings/valkyrie/metadata_adapter_spec.rb
|
3077
|
+
- spec/wings/valkyrie/persister_spec.rb
|
3078
|
+
- spec/wings/valkyrie/query_service_spec.rb
|
3079
|
+
- spec/wings/valkyrie/resource_factory_spec.rb
|
3080
|
+
- spec/wings/value_mapper_spec.rb
|
3081
|
+
- spec/wings_spec.rb
|
3043
3082
|
- tasks/hyrax_dev.rake
|
3044
3083
|
- template.rb
|
3045
3084
|
- vendor/assets/fonts/fontawesome-webfont.svg
|
@@ -3079,8 +3118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
3079
3118
|
- !ruby/object:Gem::Version
|
3080
3119
|
version: 1.3.1
|
3081
3120
|
requirements: []
|
3082
|
-
|
3083
|
-
rubygems_version: 2.6.13
|
3121
|
+
rubygems_version: 3.0.1
|
3084
3122
|
signing_key:
|
3085
3123
|
specification_version: 4
|
3086
3124
|
summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
|
@@ -3224,6 +3262,7 @@ test_files:
|
|
3224
3262
|
- spec/factories/workflows.rb
|
3225
3263
|
- spec/factory_tests/adminsets_factory_spec.rb
|
3226
3264
|
- spec/factory_tests/collections_factory_spec.rb
|
3265
|
+
- spec/features/actor_stack_spec.rb
|
3227
3266
|
- spec/features/admin_spec.rb
|
3228
3267
|
- spec/features/batch_create_spec.rb
|
3229
3268
|
- spec/features/batch_edit_spec.rb
|
@@ -3317,7 +3356,9 @@ test_files:
|
|
3317
3356
|
- spec/helpers/hyrax/trophy_helper_spec.rb
|
3318
3357
|
- spec/helpers/hyrax_helper_spec.rb
|
3319
3358
|
- spec/hyrax/transactions/create_work_spec.rb
|
3359
|
+
- spec/hyrax/transactions/destroy_work_spec.rb
|
3320
3360
|
- spec/hyrax/transactions/steps/apply_permission_template_spec.rb
|
3361
|
+
- spec/hyrax/transactions/steps/destroy_work_spec.rb
|
3321
3362
|
- spec/hyrax/transactions/steps/ensure_admin_set_spec.rb
|
3322
3363
|
- spec/hyrax/transactions/steps/ensure_permission_template_spec.rb
|
3323
3364
|
- spec/hyrax/transactions/steps/save_work_spec.rb
|
@@ -3605,6 +3646,7 @@ test_files:
|
|
3605
3646
|
- spec/services/hyrax/tolerant_select_service_spec.rb
|
3606
3647
|
- spec/services/hyrax/user_stat_importer_spec.rb
|
3607
3648
|
- spec/services/hyrax/versioning_service_spec.rb
|
3649
|
+
- spec/services/hyrax/visibility_intention_spec.rb
|
3608
3650
|
- spec/services/hyrax/work_query_service_spec.rb
|
3609
3651
|
- spec/services/hyrax/workflow/action_taken_service_spec.rb
|
3610
3652
|
- spec/services/hyrax/workflow/activate_object_spec.rb
|
@@ -3786,3 +3828,11 @@ test_files:
|
|
3786
3828
|
- spec/views/records/edit_fields/_language.html.erb_spec.rb
|
3787
3829
|
- spec/views/records/edit_fields/_subject.html.erb_spec.rb
|
3788
3830
|
- spec/views/shared/select_work_type_modal.html.erb_spec.rb
|
3831
|
+
- spec/wings/active_fedora_converter_spec.rb
|
3832
|
+
- spec/wings/model_transformer_spec.rb
|
3833
|
+
- spec/wings/valkyrie/metadata_adapter_spec.rb
|
3834
|
+
- spec/wings/valkyrie/persister_spec.rb
|
3835
|
+
- spec/wings/valkyrie/query_service_spec.rb
|
3836
|
+
- spec/wings/valkyrie/resource_factory_spec.rb
|
3837
|
+
- spec/wings/value_mapper_spec.rb
|
3838
|
+
- spec/wings_spec.rb
|