base_indexer 3.0.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|