solrizer 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Gemfile +2 -2
- data/README.md +3 -0
- data/lib/solrizer.rb +6 -2
- data/lib/solrizer/caching_field_mapper.rb +26 -0
- data/lib/solrizer/version.rb +1 -1
- data/spec/load_test.rb +11 -0
- data/spec/spec_helper.rb +4 -7
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: dc6d242c302939e2cc964c846f06a73cd176da41c65279fa91f7bc610b140d40
|
4
|
+
data.tar.gz: 25f68fc2e37a417539103fce936893d9af55d51e0e6e057a9635851785f20000
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c171f8c6a6e7c3535a39d150e1b92bd052e0cc7a6a78bf668caa5258df8c6df669af62968d7c6d4481f2cb285cd3c1b845e0322d2908f60c57ccae0be526ac8
|
7
|
+
data.tar.gz: 74f5b29305e30af4326dd84618499bbca2693a2908a031a789c209012c5934eef9d8b0ff2add326dc0db48ed37ed355299dfeaa3a944dda211528078d25aaaa8
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
[](https://travis-ci.org/projecthydra/solrizer)
|
4
4
|
[](http://badge.fury.io/rb/solrizer)
|
5
|
+
[](https://gemnasium.com/projecthydra/solrizer)
|
6
|
+
[](https://coveralls.io/r/projecthydra/solrizer)
|
7
|
+
|
5
8
|
|
6
9
|
A lightweight tool for creating dynamic solr schema sufixes.
|
7
10
|
|
data/lib/solrizer.rb
CHANGED
@@ -4,6 +4,7 @@ require 'active_support/core_ext/module/attribute_accessors'
|
|
4
4
|
module Solrizer
|
5
5
|
extend ActiveSupport::Autoload
|
6
6
|
|
7
|
+
autoload :CachingFieldMapper
|
7
8
|
autoload :Common
|
8
9
|
autoload :Descriptor
|
9
10
|
autoload :FieldMapper
|
@@ -26,9 +27,12 @@ module Solrizer
|
|
26
27
|
@@default_field_mapper = field_mapper
|
27
28
|
end
|
28
29
|
|
29
|
-
|
30
|
+
def caching_field_mapper
|
31
|
+
@caching_field_mapper ||= Solrizer::CachingFieldMapper.new(default_field_mapper)
|
32
|
+
end
|
33
|
+
|
30
34
|
def solr_name(*args)
|
31
|
-
|
35
|
+
caching_field_mapper.solr_name(*args)
|
32
36
|
end
|
33
37
|
|
34
38
|
# @params [Hash] doc the hash to insert the value into
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Solrizer
|
2
|
+
class CachingFieldMapper
|
3
|
+
# @param [FieldMapper] the object that changes arguments into a name.
|
4
|
+
def initialize(field_mapper)
|
5
|
+
@field_mapper = field_mapper
|
6
|
+
end
|
7
|
+
|
8
|
+
# Given a field name, index_type, etc., returns the corresponding Solr name.
|
9
|
+
# @param [String] field_name the ruby (term) name which will get a suffix appended to become a Solr field name
|
10
|
+
# @param opts - index_type is only needed if the FieldDescriptor requires it (e.g. :searcahble)
|
11
|
+
# @return [String] name of the solr field, based on the params
|
12
|
+
def solr_name(*args)
|
13
|
+
cache(args) do
|
14
|
+
@field_mapper.solr_name(*args)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def cache(*args)
|
21
|
+
@cache ||= {}
|
22
|
+
@cache[args] ||= yield(*args)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
data/lib/solrizer/version.rb
CHANGED
data/spec/load_test.rb
ADDED
data/spec/spec_helper.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
|
+
require 'simplecov'
|
4
|
+
require 'coveralls'
|
3
5
|
|
4
|
-
|
5
|
-
|
6
|
-
require 'simplecov-rcov'
|
7
|
-
|
8
|
-
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
9
|
-
SimpleCov.start
|
10
|
-
end
|
6
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
7
|
+
SimpleCov.start
|
11
8
|
|
12
9
|
require 'rspec'
|
13
10
|
require 'solrizer'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solrizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- README.md
|
127
127
|
- Rakefile
|
128
128
|
- lib/solrizer.rb
|
129
|
+
- lib/solrizer/caching_field_mapper.rb
|
129
130
|
- lib/solrizer/common.rb
|
130
131
|
- lib/solrizer/default_descriptors.rb
|
131
132
|
- lib/solrizer/descriptor.rb
|
@@ -136,6 +137,7 @@ files:
|
|
136
137
|
- solrizer.gemspec
|
137
138
|
- spec/.rspec
|
138
139
|
- spec/fixtures/druid-bv448hq0314-descMetadata.xml
|
140
|
+
- spec/load_test.rb
|
139
141
|
- spec/spec_helper.rb
|
140
142
|
- spec/units/common_spec.rb
|
141
143
|
- spec/units/field_mapper_spec.rb
|
@@ -160,13 +162,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
162
|
version: '0'
|
161
163
|
requirements: []
|
162
164
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.
|
165
|
+
rubygems_version: 2.7.1
|
164
166
|
signing_key:
|
165
167
|
specification_version: 4
|
166
168
|
summary: A utility for building solr indexes, usually from Fedora repository content
|
167
169
|
with solrizer-fedora extension gem.
|
168
170
|
test_files:
|
169
171
|
- spec/fixtures/druid-bv448hq0314-descMetadata.xml
|
172
|
+
- spec/load_test.rb
|
170
173
|
- spec/spec_helper.rb
|
171
174
|
- spec/units/common_spec.rb
|
172
175
|
- spec/units/field_mapper_spec.rb
|