solrizer 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Build Status](https://travis-ci.org/projecthydra/solrizer.png?branch=master)](https://travis-ci.org/projecthydra/solrizer)
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/solrizer.png)](http://badge.fury.io/rb/solrizer)
|
5
|
+
[![Dependencies](https://gemnasium.com/projecthydra/solrizer.png)](https://gemnasium.com/projecthydra/solrizer)
|
6
|
+
[![Coverage Status](https://img.shields.io/coveralls/projecthydra/solrizer.svg)](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
|