cul_scv_hydra 0.3.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.
- data/app/models/bag_aggregator.rb +16 -0
- data/app/models/content_aggregator.rb +16 -0
- data/app/models/dcdocument.rb +9 -0
- data/app/models/generic_aggregator.rb +16 -0
- data/app/models/generic_object.rb +16 -0
- data/app/models/jp2_image_aggregator.rb +38 -0
- data/app/models/mets_structured_aggregator.rb +16 -0
- data/app/models/resource.rb +59 -0
- data/app/models/static_audio_aggregator.rb +21 -0
- data/app/models/static_image_aggregator.rb +21 -0
- data/config/fedora.yml +6 -0
- data/config/predicate_mappings.yml +56 -0
- data/config/solr.yml +15 -0
- data/config/solr_mappings.yml +26 -0
- data/config/solr_value_maps.yml +29 -0
- data/lib/cul_scv_hydra.rb +14 -0
- data/lib/cul_scv_hydra/access_controls_enforcement.rb +53 -0
- data/lib/cul_scv_hydra/active_fedora.rb +18 -0
- data/lib/cul_scv_hydra/active_fedora/model.rb +8 -0
- data/lib/cul_scv_hydra/active_fedora/model/aggregator.rb +45 -0
- data/lib/cul_scv_hydra/active_fedora/model/common.rb +221 -0
- data/lib/cul_scv_hydra/active_fedora/model/dcdocument.rb +43 -0
- data/lib/cul_scv_hydra/active_fedora/model/resource.rb +79 -0
- data/lib/cul_scv_hydra/controllers.rb +13 -0
- data/lib/cul_scv_hydra/controllers/aggregates.rb +95 -0
- data/lib/cul_scv_hydra/controllers/aggregator_controller_helper.rb +27 -0
- data/lib/cul_scv_hydra/controllers/catalog.rb +13 -0
- data/lib/cul_scv_hydra/controllers/content_aggregators.rb +83 -0
- data/lib/cul_scv_hydra/controllers/datastreams.rb +146 -0
- data/lib/cul_scv_hydra/controllers/helpers.rb +11 -0
- data/lib/cul_scv_hydra/controllers/helpers/active_fedora_helper_behavior.rb +9 -0
- data/lib/cul_scv_hydra/controllers/helpers/application_helper_behavior.rb +17 -0
- data/lib/cul_scv_hydra/controllers/helpers/dc_metadata_helper_behavior.rb +9 -0
- data/lib/cul_scv_hydra/controllers/helpers/hydra_assets_helper_behavior.rb +46 -0
- data/lib/cul_scv_hydra/controllers/helpers/hydra_autocomplete_helper_behavior.rb +35 -0
- data/lib/cul_scv_hydra/controllers/helpers/hydra_uploader_helper_behavior.rb +34 -0
- data/lib/cul_scv_hydra/controllers/helpers/resources_helper_behavior.rb +160 -0
- data/lib/cul_scv_hydra/controllers/resources.rb +162 -0
- data/lib/cul_scv_hydra/controllers/static_image_aggregators.rb +106 -0
- data/lib/cul_scv_hydra/controllers/suggestions.rb +127 -0
- data/lib/cul_scv_hydra/controllers/terms.rb +152 -0
- data/lib/cul_scv_hydra/engine.rb +9 -0
- data/lib/cul_scv_hydra/om.rb +11 -0
- data/lib/cul_scv_hydra/om/dc_metadata.rb +70 -0
- data/lib/cul_scv_hydra/om/scv_mods_document.rb +132 -0
- data/lib/cul_scv_hydra/om/standard_mods.rb +111 -0
- data/lib/cul_scv_hydra/solrizer.rb +12 -0
- data/lib/cul_scv_hydra/solrizer/extractor.rb +27 -0
- data/lib/cul_scv_hydra/solrizer/field_mapper.rb +30 -0
- data/lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb +112 -0
- data/lib/cul_scv_hydra/solrizer/value_mapper.rb +35 -0
- data/lib/cul_scv_hydra/version.rb +10 -0
- metadata +333 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
module Cul
|
2
|
+
module Scv
|
3
|
+
module Hydra
|
4
|
+
module Solrizer
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
9
|
+
require "cul_scv_hydra/solrizer/extractor"
|
10
|
+
require "cul_scv_hydra/solrizer/field_mapper"
|
11
|
+
require "cul_scv_hydra/solrizer/terminology_based_solrizer"
|
12
|
+
require "cul_scv_hydra/solrizer/value_mapper"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Cul::Scv::Hydra::Solrizer
|
2
|
+
class Extractor < ::Solrizer::Extractor
|
3
|
+
# Insert +field_value+ for +field_name+ into +solr_doc+
|
4
|
+
# Handles inserting new values into a Hash while ensuring that you don't destroy or overwrite any existing values in the hash.
|
5
|
+
# Ensures that field values are always appended to arrays within the values hash.
|
6
|
+
# Ensures that values are run through format_node_value
|
7
|
+
# Also ensures that values are unique if specified
|
8
|
+
# @param [Hash] solr_doc
|
9
|
+
# @param [String] field_name
|
10
|
+
# @param [String] field_value
|
11
|
+
# @param [boolean] unique
|
12
|
+
def self.insert_solr_field_value(solr_doc, field_name, field_value, unique=false)
|
13
|
+
formatted_value = self.format_node_value(field_value)
|
14
|
+
if solr_doc.has_key?(field_name)
|
15
|
+
solr_doc[field_name] << formatted_value unless (unique and solr_doc[field_name].include? formatted_value)
|
16
|
+
else
|
17
|
+
solr_doc.merge!( {field_name => [formatted_value]} )
|
18
|
+
end
|
19
|
+
return solr_doc
|
20
|
+
end
|
21
|
+
|
22
|
+
# Instance Methods
|
23
|
+
def insert_solr_field_value(solr_doc, field_name, field_value, unique=false)
|
24
|
+
Cul::Scv::Hydra::Solrizer::Extractor.insert_solr_field_value(solr_doc, field_name, field_value, unique)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'solrizer'
|
2
|
+
module Cul::Scv::Hydra::Solrizer
|
3
|
+
class FieldMapper < ::Solrizer::FieldMapper::Default
|
4
|
+
alias_method(:orig_solr_name_and_mappings, :solr_name_and_mappings)
|
5
|
+
|
6
|
+
def self.default
|
7
|
+
if defined?(Rails.root) && !Rails.root.nil?
|
8
|
+
config_path = File.join(Rails.root, "config", "solr_mappings.yml")
|
9
|
+
end
|
10
|
+
# Default to using the config file within the gem
|
11
|
+
if !File.exist?(config_path.to_s)
|
12
|
+
config_path = File.join(File.dirname(__FILE__), "..", "..", "..", "config", "solr_mappings.yml")
|
13
|
+
end
|
14
|
+
self.load_mappings(config_path)
|
15
|
+
logger.info("FieldMapper: loading field name mappings from #{File.expand_path(config_path)}")
|
16
|
+
self.new
|
17
|
+
end
|
18
|
+
|
19
|
+
# This is an override of a private method in the base class, and will have to be monitored for changes
|
20
|
+
def solr_name_and_mappings(field_name, field_type, index_type)
|
21
|
+
if index_type == :textable
|
22
|
+
result = orig_solr_name_and_mappings(field_name, field_type, :searchable)
|
23
|
+
result[0] = 'text'
|
24
|
+
return result
|
25
|
+
else
|
26
|
+
orig_solr_name_and_mappings(field_name, field_type, index_type)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'solrizer'
|
2
|
+
module Cul::Scv::Hydra::Solrizer::TerminologyBasedSolrizer
|
3
|
+
# copied from Solrizer::XML::TerminologyBasedSolrizer
|
4
|
+
def self.default_field_mapper
|
5
|
+
@@default_field_mapper ||= Cul::Scv::Hydra::Solrizer::FieldMapper.default
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.default_extractor
|
9
|
+
@@default_extractor ||= Cul::Scv::Hydra::Solrizer::Extractor.new
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.default_value_mapper
|
13
|
+
@@value_mapper ||= Cul::Scv::Hydra::Solrizer::ValueMapper.new
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# Module Methods
|
18
|
+
|
19
|
+
# Build a solr document from +doc+ based on its terminology
|
20
|
+
# @param [OM::XML::Document] doc
|
21
|
+
# @param [Hash] (optional) solr_doc (values hash) to populate
|
22
|
+
def self.solrize(doc, solr_doc=Hash.new, field_mapper = nil)
|
23
|
+
unless doc.class.terminology.nil?
|
24
|
+
doc.class.terminology.terms.each_pair do |term_name,term|
|
25
|
+
doc.solrize_term(term, solr_doc, field_mapper)
|
26
|
+
# self.solrize_by_term(accessor_name, accessor_info, :solr_doc=>solr_doc)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
return solr_doc
|
31
|
+
end
|
32
|
+
|
33
|
+
# Populate a solr document with fields based on nodes in +xml+ corresponding to the
|
34
|
+
# term identified by +term_pointer+ within +terminology+
|
35
|
+
# @param [OM::XML::Document] doc xml document to extract values from
|
36
|
+
# @param [OM::XML::Term] term corresponding to desired xml values
|
37
|
+
# @param [Hash] (optional) solr_doc (values hash) to populate
|
38
|
+
# @param [Solrizer::FieldMapper] (optional) object that maps a term and its index options to solr field names
|
39
|
+
def self.solrize_term(doc, term, solr_doc = Hash.new, field_mapper = nil, opts={})
|
40
|
+
terminology = doc.class.terminology
|
41
|
+
parents = opts.fetch(:parents, [])
|
42
|
+
|
43
|
+
term_pointer = parents+[term.name]
|
44
|
+
nodeset = doc.find_by_terms(*term_pointer)
|
45
|
+
nodeset.each do |node|
|
46
|
+
# create solr fields
|
47
|
+
|
48
|
+
doc.solrize_node(node, term_pointer, term, solr_doc, field_mapper)
|
49
|
+
unless term.kind_of? OM::XML::NamedTermProxy
|
50
|
+
term.children.each_pair do |child_term_name, child_term|
|
51
|
+
doc.solrize_term(child_term, solr_doc, field_mapper, opts={:parents=>parents+[{term.name=>nodeset.index(node)}]})
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
solr_doc
|
56
|
+
end
|
57
|
+
|
58
|
+
# Populate a solr document with solr fields corresponding to the given xml node
|
59
|
+
# Field names are generated using settings from the term in the +doc+'s terminology corresponding to +term_pointer+
|
60
|
+
# @param [Nokogiri::XML::Node] node to solrize
|
61
|
+
# @param [OM::XML::Document] doc document the node came from
|
62
|
+
# @param [Array] term_pointer Array pointing to the term that should be used for solrization settings
|
63
|
+
# @param [Hash] (optional) solr_doc (values hash) to populate
|
64
|
+
def self.solrize_node(node, doc, term_pointer, term, solr_doc = Hash.new, field_mapper = nil, opts = {})
|
65
|
+
terminology = doc.class.terminology
|
66
|
+
# term = terminology.retrieve_term(*term_pointer)
|
67
|
+
if term.path.kind_of?(Hash) && term.path.has_key?(:attribute)
|
68
|
+
node_value = node.value
|
69
|
+
else
|
70
|
+
node_value = node.text
|
71
|
+
end
|
72
|
+
generic_field_name_base = OM::XML::Terminology.term_generic_name(*term_pointer)
|
73
|
+
|
74
|
+
self.insert_field_value(solr_doc, term, generic_field_name_base, node_value, term.data_type, term.index_as, field_mapper)
|
75
|
+
|
76
|
+
if term_pointer.length > 1
|
77
|
+
hierarchical_field_name_base = OM::XML::Terminology.term_hierarchical_name(*term_pointer)
|
78
|
+
self.insert_field_value(solr_doc, term, hierarchical_field_name_base, node_value, term.data_type, term.index_as, field_mapper)
|
79
|
+
end
|
80
|
+
if term.variant_of and term.variant_of[:field_base]
|
81
|
+
self.insert_field_value(solr_doc, term, term.variant_of[:field_base], node_value, term.data_type, term.index_as, field_mapper, true)
|
82
|
+
end
|
83
|
+
solr_doc
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.insert_field_value(solr_doc, term, field_base_name, field_value, data_type, index_as, field_mapper=nil , unique=false)
|
87
|
+
field_mapper = self.default_field_mapper if field_mapper.nil?
|
88
|
+
field_mapper.solr_names_and_values(field_base_name, field_value, data_type, index_as).each { |field_name, field_value|
|
89
|
+
unless field_value.join("").strip.empty?
|
90
|
+
if term.variant_of and term.variant_of[:map]
|
91
|
+
field_value = default_value_mapper.solr_value(term.variant_of[:map], field_value)
|
92
|
+
end
|
93
|
+
self.default_extractor.insert_solr_field_value(solr_doc, field_name, field_value, (unique || (field_name == 'text')))
|
94
|
+
end
|
95
|
+
}
|
96
|
+
end
|
97
|
+
# Instance Methods
|
98
|
+
|
99
|
+
attr_accessor :field_mapper
|
100
|
+
|
101
|
+
def to_solr(solr_doc = Hash.new, field_mapper = self.field_mapper) # :nodoc:
|
102
|
+
::Solrizer::XML::TerminologyBasedSolrizer.solrize(self, solr_doc, field_mapper)
|
103
|
+
end
|
104
|
+
|
105
|
+
def solrize_term(term, solr_doc = Hash.new, field_mapper = self.field_mapper, opts={})
|
106
|
+
Cul::Scv::Hydra::Solrizer::TerminologyBasedSolrizer.solrize_term(self, term, solr_doc, field_mapper, opts)
|
107
|
+
end
|
108
|
+
|
109
|
+
def solrize_node(node, term_pointer, term, solr_doc = Hash.new, field_mapper = self.field_mapper, opts={})
|
110
|
+
Cul::Scv::Hydra::Solrizer::TerminologyBasedSolrizer.solrize_node(node, self, term_pointer, term, solr_doc, field_mapper, opts)
|
111
|
+
end
|
112
|
+
end # module
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Cul::Scv::Hydra::Solrizer
|
2
|
+
# This class uses a yaml map to translate field values for solr
|
3
|
+
class ValueMapper
|
4
|
+
def self.load_value_maps(config_path=nil)
|
5
|
+
if config_path.nil?
|
6
|
+
if defined?(Rails.root) && !Rails.root.nil?
|
7
|
+
config_path = File.join(Rails.root, "config", "solr_value_maps.yml")
|
8
|
+
end
|
9
|
+
# Default to using the config file within the gem
|
10
|
+
if !File.exist?(config_path.to_s)
|
11
|
+
config_path = File.join(File.dirname(__FILE__), "..", "..", "..", "config", "solr_value_maps.yml")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
logger.info("ValueMapper: loading field value maps from #{File.expand_path(config_path)}")
|
15
|
+
YAML::load(File.open(config_path))
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.default_value_maps
|
19
|
+
@@value_maps ||= self.load_value_maps
|
20
|
+
end
|
21
|
+
# Instance methods
|
22
|
+
|
23
|
+
def initialize(value_maps=nil)
|
24
|
+
@value_maps = value_maps || Cul::Scv::Hydra::Solrizer::ValueMapper.default_value_maps
|
25
|
+
end
|
26
|
+
def solr_value(map_key, value_key)
|
27
|
+
return value_key unless @value_maps.has_key? map_key
|
28
|
+
if value_key.is_a? Array
|
29
|
+
value_key.collect{ |val| @value_maps[map_key].fetch(val, val) }
|
30
|
+
else
|
31
|
+
@value_maps[map_key].fetch(value_key, value_key)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
ADDED
@@ -0,0 +1,333 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cul_scv_hydra
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Benjamin Armintor
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-04-23 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: cul_image_props
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: blacklight
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 5
|
43
|
+
segments:
|
44
|
+
- 3
|
45
|
+
- 1
|
46
|
+
version: "3.1"
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: rails
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 7
|
58
|
+
segments:
|
59
|
+
- 3
|
60
|
+
- 0
|
61
|
+
version: "3.0"
|
62
|
+
type: :runtime
|
63
|
+
version_requirements: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: active-fedora
|
66
|
+
prerelease: false
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ~>
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 1
|
73
|
+
segments:
|
74
|
+
- 3
|
75
|
+
- 3
|
76
|
+
version: "3.3"
|
77
|
+
type: :runtime
|
78
|
+
version_requirements: *id004
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: hydra-head
|
81
|
+
prerelease: false
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 1
|
88
|
+
segments:
|
89
|
+
- 3
|
90
|
+
- 3
|
91
|
+
version: "3.3"
|
92
|
+
type: :runtime
|
93
|
+
version_requirements: *id005
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rubydora
|
96
|
+
prerelease: false
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 27
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
- 2
|
106
|
+
- 6
|
107
|
+
version: 0.2.6
|
108
|
+
type: :runtime
|
109
|
+
version_requirements: *id006
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: nokogiri
|
112
|
+
prerelease: false
|
113
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
hash: 3
|
119
|
+
segments:
|
120
|
+
- 1
|
121
|
+
- 4
|
122
|
+
- 2
|
123
|
+
version: 1.4.2
|
124
|
+
type: :runtime
|
125
|
+
version_requirements: *id007
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: om
|
128
|
+
prerelease: false
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 23
|
135
|
+
segments:
|
136
|
+
- 1
|
137
|
+
- 2
|
138
|
+
- 4
|
139
|
+
version: 1.2.4
|
140
|
+
type: :runtime
|
141
|
+
version_requirements: *id008
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: solrizer
|
144
|
+
prerelease: false
|
145
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
hash: 23
|
151
|
+
segments:
|
152
|
+
- 1
|
153
|
+
- 1
|
154
|
+
- 2
|
155
|
+
version: 1.1.2
|
156
|
+
type: :runtime
|
157
|
+
version_requirements: *id009
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: rspec
|
160
|
+
prerelease: false
|
161
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
hash: 47
|
167
|
+
segments:
|
168
|
+
- 2
|
169
|
+
- 8
|
170
|
+
- 0
|
171
|
+
version: 2.8.0
|
172
|
+
type: :development
|
173
|
+
version_requirements: *id010
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: rspec-rails
|
176
|
+
prerelease: false
|
177
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
178
|
+
none: false
|
179
|
+
requirements:
|
180
|
+
- - ~>
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
hash: 45
|
183
|
+
segments:
|
184
|
+
- 2
|
185
|
+
- 8
|
186
|
+
- 1
|
187
|
+
version: 2.8.1
|
188
|
+
type: :development
|
189
|
+
version_requirements: *id011
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: mocha
|
192
|
+
prerelease: false
|
193
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
hash: 43
|
199
|
+
segments:
|
200
|
+
- 0
|
201
|
+
- 9
|
202
|
+
- 8
|
203
|
+
version: 0.9.8
|
204
|
+
type: :development
|
205
|
+
version_requirements: *id012
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: equivalent-xml
|
208
|
+
prerelease: false
|
209
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
210
|
+
none: false
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
hash: 31
|
215
|
+
segments:
|
216
|
+
- 0
|
217
|
+
- 2
|
218
|
+
- 4
|
219
|
+
version: 0.2.4
|
220
|
+
type: :development
|
221
|
+
version_requirements: *id013
|
222
|
+
- !ruby/object:Gem::Dependency
|
223
|
+
name: rbx-require-relative
|
224
|
+
prerelease: false
|
225
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
226
|
+
none: false
|
227
|
+
requirements:
|
228
|
+
- - "="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
hash: 21
|
231
|
+
segments:
|
232
|
+
- 0
|
233
|
+
- 0
|
234
|
+
- 5
|
235
|
+
version: 0.0.5
|
236
|
+
type: :development
|
237
|
+
version_requirements: *id014
|
238
|
+
description: ActiveFedora, OM, and Solrizer implementations for CUL Staff Collection Viewer
|
239
|
+
email: armintor@gmail.com
|
240
|
+
executables: []
|
241
|
+
|
242
|
+
extensions: []
|
243
|
+
|
244
|
+
extra_rdoc_files: []
|
245
|
+
|
246
|
+
files:
|
247
|
+
- lib/cul_scv_hydra/access_controls_enforcement.rb
|
248
|
+
- lib/cul_scv_hydra/active_fedora/model/aggregator.rb
|
249
|
+
- lib/cul_scv_hydra/active_fedora/model/common.rb
|
250
|
+
- lib/cul_scv_hydra/active_fedora/model/dcdocument.rb
|
251
|
+
- lib/cul_scv_hydra/active_fedora/model/resource.rb
|
252
|
+
- lib/cul_scv_hydra/active_fedora/model.rb
|
253
|
+
- lib/cul_scv_hydra/active_fedora.rb
|
254
|
+
- lib/cul_scv_hydra/controllers/aggregates.rb
|
255
|
+
- lib/cul_scv_hydra/controllers/aggregator_controller_helper.rb
|
256
|
+
- lib/cul_scv_hydra/controllers/catalog.rb
|
257
|
+
- lib/cul_scv_hydra/controllers/content_aggregators.rb
|
258
|
+
- lib/cul_scv_hydra/controllers/datastreams.rb
|
259
|
+
- lib/cul_scv_hydra/controllers/helpers/active_fedora_helper_behavior.rb
|
260
|
+
- lib/cul_scv_hydra/controllers/helpers/application_helper_behavior.rb
|
261
|
+
- lib/cul_scv_hydra/controllers/helpers/dc_metadata_helper_behavior.rb
|
262
|
+
- lib/cul_scv_hydra/controllers/helpers/hydra_assets_helper_behavior.rb
|
263
|
+
- lib/cul_scv_hydra/controllers/helpers/hydra_autocomplete_helper_behavior.rb
|
264
|
+
- lib/cul_scv_hydra/controllers/helpers/hydra_uploader_helper_behavior.rb
|
265
|
+
- lib/cul_scv_hydra/controllers/helpers/resources_helper_behavior.rb
|
266
|
+
- lib/cul_scv_hydra/controllers/helpers.rb
|
267
|
+
- lib/cul_scv_hydra/controllers/resources.rb
|
268
|
+
- lib/cul_scv_hydra/controllers/static_image_aggregators.rb
|
269
|
+
- lib/cul_scv_hydra/controllers/suggestions.rb
|
270
|
+
- lib/cul_scv_hydra/controllers/terms.rb
|
271
|
+
- lib/cul_scv_hydra/controllers.rb
|
272
|
+
- lib/cul_scv_hydra/engine.rb
|
273
|
+
- lib/cul_scv_hydra/om/dc_metadata.rb
|
274
|
+
- lib/cul_scv_hydra/om/scv_mods_document.rb
|
275
|
+
- lib/cul_scv_hydra/om/standard_mods.rb
|
276
|
+
- lib/cul_scv_hydra/om.rb
|
277
|
+
- lib/cul_scv_hydra/solrizer/extractor.rb
|
278
|
+
- lib/cul_scv_hydra/solrizer/field_mapper.rb
|
279
|
+
- lib/cul_scv_hydra/solrizer/terminology_based_solrizer.rb
|
280
|
+
- lib/cul_scv_hydra/solrizer/value_mapper.rb
|
281
|
+
- lib/cul_scv_hydra/solrizer.rb
|
282
|
+
- lib/cul_scv_hydra/version.rb
|
283
|
+
- lib/cul_scv_hydra.rb
|
284
|
+
- app/models/bag_aggregator.rb
|
285
|
+
- app/models/content_aggregator.rb
|
286
|
+
- app/models/dcdocument.rb
|
287
|
+
- app/models/generic_aggregator.rb
|
288
|
+
- app/models/generic_object.rb
|
289
|
+
- app/models/jp2_image_aggregator.rb
|
290
|
+
- app/models/mets_structured_aggregator.rb
|
291
|
+
- app/models/resource.rb
|
292
|
+
- app/models/static_audio_aggregator.rb
|
293
|
+
- app/models/static_image_aggregator.rb
|
294
|
+
- config/fedora.yml
|
295
|
+
- config/predicate_mappings.yml
|
296
|
+
- config/solr.yml
|
297
|
+
- config/solr_mappings.yml
|
298
|
+
- config/solr_value_maps.yml
|
299
|
+
homepage: https://github.com/cul/cul_scv_hydra
|
300
|
+
licenses: []
|
301
|
+
|
302
|
+
post_install_message:
|
303
|
+
rdoc_options: []
|
304
|
+
|
305
|
+
require_paths:
|
306
|
+
- lib
|
307
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
308
|
+
none: false
|
309
|
+
requirements:
|
310
|
+
- - ">="
|
311
|
+
- !ruby/object:Gem::Version
|
312
|
+
hash: 3
|
313
|
+
segments:
|
314
|
+
- 0
|
315
|
+
version: "0"
|
316
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
317
|
+
none: false
|
318
|
+
requirements:
|
319
|
+
- - ">="
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
hash: 3
|
322
|
+
segments:
|
323
|
+
- 0
|
324
|
+
version: "0"
|
325
|
+
requirements: []
|
326
|
+
|
327
|
+
rubyforge_project:
|
328
|
+
rubygems_version: 1.8.15
|
329
|
+
signing_key:
|
330
|
+
specification_version: 3
|
331
|
+
summary: ActiveFedora, OM, and Solrizer implementations for CUL Staff Collection Viewer
|
332
|
+
test_files: []
|
333
|
+
|