base_indexer 3.0.0 → 4.0.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 +4 -4
- data/.gitignore +40 -0
- data/.travis.yml +17 -0
- data/Gemfile +49 -0
- data/LICENSE +13 -0
- data/README.md +151 -0
- data/app/controllers/base_indexer/about_controller.rb +1 -1
- data/base_indexer.gemspec +40 -0
- data/code_diagram.png +0 -0
- data/config/initializers/base_indexer.rb +0 -2
- data/config/initializers/config.rb +6 -0
- data/lib/base_indexer.rb +0 -3
- data/lib/base_indexer/engine.rb +0 -9
- data/lib/base_indexer/main_indexer_engine.rb +5 -6
- data/lib/base_indexer/solr/client.rb +3 -3
- data/lib/base_indexer/version.rb +1 -1
- data/lib/generators/base_indexer/install_generator.rb +1 -1
- data/lib/generators/base_indexer/templates/settings.yml +5 -0
- data/lib/tasks/index.rake +4 -4
- data/spec/base_indexer/main_indexer_engine_spec.rb +46 -0
- data/spec/base_indexer/solr/client_spec.rb +47 -0
- data/spec/base_indexer/solr/writer_spec.rb +72 -0
- data/spec/controllers/base_indexer/items_controller_spec.rb +36 -0
- data/spec/fixtures/vcr_cassettes/available_mods_xml.yml +105 -0
- data/spec/fixtures/vcr_cassettes/available_purl_xml.yml +110 -0
- data/spec/fixtures/vcr_cassettes/get_collection_name_for_item.yml +197 -0
- data/spec/fixtures/vcr_cassettes/read_mods_in_vaild.yml +154 -0
- data/spec/fixtures/vcr_cassettes/read_mods_vaild.yml +199 -0
- data/spec/fixtures/vcr_cassettes/read_purl_in_vaild.yml +154 -0
- data/spec/fixtures/vcr_cassettes/read_purl_vaild.yml +197 -0
- data/spec/fixtures/vcr_cassettes/rsolr_client_delete.yml +174 -0
- data/spec/fixtures/vcr_cassettes/rsolr_client_index.yml +115 -0
- data/spec/fixtures/vcr_cassettes/rsolr_update.yml +313 -0
- data/spec/spec_helper.rb +112 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +14 -0
- metadata +72 -14
- data/lib/base_indexer/config/solr_configuration.rb +0 -17
- data/lib/base_indexer/config/solr_configuration_from_file.rb +0 -25
- data/lib/generators/base_indexer/templates/solr.yml +0 -4
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
class TestAppGenerator < Rails::Generators::Base
|
4
|
+
source_root "./spec/test_app_templates"
|
5
|
+
|
6
|
+
# if you need to generate any additional configuration
|
7
|
+
# into the test app, this generator will be run immediately
|
8
|
+
# after setting up the application
|
9
|
+
|
10
|
+
def install_engine
|
11
|
+
generate 'base_indexer:install'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
metadata
CHANGED
@@ -1,30 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: base_indexer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmed Alsum
|
8
8
|
- Laney McGlohon
|
9
9
|
autorequire:
|
10
|
-
bindir:
|
10
|
+
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '4'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '6'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '4'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '6'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: discovery-indexer
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -32,9 +38,9 @@ dependencies:
|
|
32
38
|
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
40
|
version: '2'
|
35
|
-
- - "
|
41
|
+
- - "<"
|
36
42
|
- !ruby/object:Gem::Version
|
37
|
-
version: '4
|
43
|
+
version: '4'
|
38
44
|
type: :runtime
|
39
45
|
prerelease: false
|
40
46
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,9 +48,9 @@ dependencies:
|
|
42
48
|
- - ">="
|
43
49
|
- !ruby/object:Gem::Version
|
44
50
|
version: '2'
|
45
|
-
- - "
|
51
|
+
- - "<"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '4
|
53
|
+
version: '4'
|
48
54
|
- !ruby/object:Gem::Dependency
|
49
55
|
name: retries
|
50
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,6 +79,20 @@ dependencies:
|
|
73
79
|
- - ">="
|
74
80
|
- !ruby/object:Gem::Version
|
75
81
|
version: '0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: config
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
type: :runtime
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
76
96
|
- !ruby/object:Gem::Dependency
|
77
97
|
name: sqlite3
|
78
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,6 +240,11 @@ executables: []
|
|
220
240
|
extensions: []
|
221
241
|
extra_rdoc_files: []
|
222
242
|
files:
|
243
|
+
- ".gitignore"
|
244
|
+
- ".travis.yml"
|
245
|
+
- Gemfile
|
246
|
+
- LICENSE
|
247
|
+
- README.md
|
223
248
|
- Rakefile
|
224
249
|
- app/controllers/base_indexer/about_controller.rb
|
225
250
|
- app/controllers/base_indexer/application_controller.rb
|
@@ -230,20 +255,37 @@ files:
|
|
230
255
|
- app/views/base_indexer/about/version.html.erb
|
231
256
|
- app/views/base_indexer/items/destroy.json.erb
|
232
257
|
- app/views/base_indexer/items/new.json.erb
|
258
|
+
- base_indexer.gemspec
|
259
|
+
- code_diagram.png
|
233
260
|
- config/initializers/base_indexer.rb
|
261
|
+
- config/initializers/config.rb
|
234
262
|
- config/routes.rb
|
235
263
|
- lib/base_indexer.rb
|
236
|
-
- lib/base_indexer/config/solr_configuration.rb
|
237
|
-
- lib/base_indexer/config/solr_configuration_from_file.rb
|
238
264
|
- lib/base_indexer/engine.rb
|
239
265
|
- lib/base_indexer/main_indexer_engine.rb
|
240
266
|
- lib/base_indexer/solr/client.rb
|
241
267
|
- lib/base_indexer/solr/writer.rb
|
242
268
|
- lib/base_indexer/version.rb
|
243
269
|
- lib/generators/base_indexer/install_generator.rb
|
244
|
-
- lib/generators/base_indexer/templates/
|
270
|
+
- lib/generators/base_indexer/templates/settings.yml
|
245
271
|
- lib/tasks/base_indexer_tasks.rake
|
246
272
|
- lib/tasks/index.rake
|
273
|
+
- spec/base_indexer/main_indexer_engine_spec.rb
|
274
|
+
- spec/base_indexer/solr/client_spec.rb
|
275
|
+
- spec/base_indexer/solr/writer_spec.rb
|
276
|
+
- spec/controllers/base_indexer/items_controller_spec.rb
|
277
|
+
- spec/fixtures/vcr_cassettes/available_mods_xml.yml
|
278
|
+
- spec/fixtures/vcr_cassettes/available_purl_xml.yml
|
279
|
+
- spec/fixtures/vcr_cassettes/get_collection_name_for_item.yml
|
280
|
+
- spec/fixtures/vcr_cassettes/read_mods_in_vaild.yml
|
281
|
+
- spec/fixtures/vcr_cassettes/read_mods_vaild.yml
|
282
|
+
- spec/fixtures/vcr_cassettes/read_purl_in_vaild.yml
|
283
|
+
- spec/fixtures/vcr_cassettes/read_purl_vaild.yml
|
284
|
+
- spec/fixtures/vcr_cassettes/rsolr_client_delete.yml
|
285
|
+
- spec/fixtures/vcr_cassettes/rsolr_client_index.yml
|
286
|
+
- spec/fixtures/vcr_cassettes/rsolr_update.yml
|
287
|
+
- spec/spec_helper.rb
|
288
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
247
289
|
homepage:
|
248
290
|
licenses:
|
249
291
|
- Apache 2
|
@@ -264,8 +306,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
306
|
version: '0'
|
265
307
|
requirements: []
|
266
308
|
rubyforge_project:
|
267
|
-
rubygems_version: 2.5.
|
309
|
+
rubygems_version: 2.5.2
|
268
310
|
signing_key:
|
269
311
|
specification_version: 4
|
270
312
|
summary: Summary of BaseIndexer.
|
271
|
-
test_files:
|
313
|
+
test_files:
|
314
|
+
- spec/base_indexer/main_indexer_engine_spec.rb
|
315
|
+
- spec/base_indexer/solr/client_spec.rb
|
316
|
+
- spec/base_indexer/solr/writer_spec.rb
|
317
|
+
- spec/controllers/base_indexer/items_controller_spec.rb
|
318
|
+
- spec/fixtures/vcr_cassettes/available_mods_xml.yml
|
319
|
+
- spec/fixtures/vcr_cassettes/available_purl_xml.yml
|
320
|
+
- spec/fixtures/vcr_cassettes/get_collection_name_for_item.yml
|
321
|
+
- spec/fixtures/vcr_cassettes/read_mods_in_vaild.yml
|
322
|
+
- spec/fixtures/vcr_cassettes/read_mods_vaild.yml
|
323
|
+
- spec/fixtures/vcr_cassettes/read_purl_in_vaild.yml
|
324
|
+
- spec/fixtures/vcr_cassettes/read_purl_vaild.yml
|
325
|
+
- spec/fixtures/vcr_cassettes/rsolr_client_delete.yml
|
326
|
+
- spec/fixtures/vcr_cassettes/rsolr_client_index.yml
|
327
|
+
- spec/fixtures/vcr_cassettes/rsolr_update.yml
|
328
|
+
- spec/spec_helper.rb
|
329
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module BaseIndexer
|
2
|
-
|
3
|
-
# It is an interface to load the solr configuration hash
|
4
|
-
class SolrConfiguration
|
5
|
-
|
6
|
-
# It reads the configuration argument. This function is loaded by default when the
|
7
|
-
# base_indexer_engine is loading
|
8
|
-
def read(default_arg=nil)
|
9
|
-
end
|
10
|
-
|
11
|
-
# @return [Hash] hash represents the solr configuration
|
12
|
-
# @example
|
13
|
-
# {"target1":{"url"=>"http://localhost/solr/"},"target2":{"url"=>"http://solr-cor.com/solr/"}}
|
14
|
-
def get_configuration_hash
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'singleton'
|
2
|
-
require 'yaml'
|
3
|
-
|
4
|
-
module BaseIndexer
|
5
|
-
|
6
|
-
# It reads the solr configuration from YAML file
|
7
|
-
class SolrConfigurationFromFile < SolrConfiguration
|
8
|
-
include Singleton
|
9
|
-
|
10
|
-
# reads the solr yaml configuration file
|
11
|
-
# @param yaml_file [String] solr yaml configuration file name
|
12
|
-
def read(yaml_file=nil)
|
13
|
-
@solr_config_hash = YAML.load_file(yaml_file)
|
14
|
-
end
|
15
|
-
|
16
|
-
# @return [Hash] hash represents the solr configuration
|
17
|
-
# @example
|
18
|
-
# {"target1":{"url"=>"http://localhost/solr/"},"target2":{"url"=>"http://solr-cor.com/solr/"}}
|
19
|
-
#
|
20
|
-
# {"target1":{"url"=>"http://localhost/solr/","open_timeout"=>120},"target2":{"url"=>"http://solr-cor.com/solr/"}}
|
21
|
-
def get_configuration_hash
|
22
|
-
Hash[ @solr_config_hash.collect {|k,v| [k.upcase, v] } ] # updase all of the target names
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|