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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +40 -0
  3. data/.travis.yml +17 -0
  4. data/Gemfile +49 -0
  5. data/LICENSE +13 -0
  6. data/README.md +151 -0
  7. data/app/controllers/base_indexer/about_controller.rb +1 -1
  8. data/base_indexer.gemspec +40 -0
  9. data/code_diagram.png +0 -0
  10. data/config/initializers/base_indexer.rb +0 -2
  11. data/config/initializers/config.rb +6 -0
  12. data/lib/base_indexer.rb +0 -3
  13. data/lib/base_indexer/engine.rb +0 -9
  14. data/lib/base_indexer/main_indexer_engine.rb +5 -6
  15. data/lib/base_indexer/solr/client.rb +3 -3
  16. data/lib/base_indexer/version.rb +1 -1
  17. data/lib/generators/base_indexer/install_generator.rb +1 -1
  18. data/lib/generators/base_indexer/templates/settings.yml +5 -0
  19. data/lib/tasks/index.rake +4 -4
  20. data/spec/base_indexer/main_indexer_engine_spec.rb +46 -0
  21. data/spec/base_indexer/solr/client_spec.rb +47 -0
  22. data/spec/base_indexer/solr/writer_spec.rb +72 -0
  23. data/spec/controllers/base_indexer/items_controller_spec.rb +36 -0
  24. data/spec/fixtures/vcr_cassettes/available_mods_xml.yml +105 -0
  25. data/spec/fixtures/vcr_cassettes/available_purl_xml.yml +110 -0
  26. data/spec/fixtures/vcr_cassettes/get_collection_name_for_item.yml +197 -0
  27. data/spec/fixtures/vcr_cassettes/read_mods_in_vaild.yml +154 -0
  28. data/spec/fixtures/vcr_cassettes/read_mods_vaild.yml +199 -0
  29. data/spec/fixtures/vcr_cassettes/read_purl_in_vaild.yml +154 -0
  30. data/spec/fixtures/vcr_cassettes/read_purl_vaild.yml +197 -0
  31. data/spec/fixtures/vcr_cassettes/rsolr_client_delete.yml +174 -0
  32. data/spec/fixtures/vcr_cassettes/rsolr_client_index.yml +115 -0
  33. data/spec/fixtures/vcr_cassettes/rsolr_update.yml +313 -0
  34. data/spec/spec_helper.rb +112 -0
  35. data/spec/test_app_templates/lib/generators/test_app_generator.rb +14 -0
  36. metadata +72 -14
  37. data/lib/base_indexer/config/solr_configuration.rb +0 -17
  38. data/lib/base_indexer/config/solr_configuration_from_file.rb +0 -25
  39. 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: 3.0.0
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: bin
10
+ bindir: exe
11
11
  cert_chain: []
12
- date: 2016-09-13 00:00:00.000000000 Z
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.0'
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.0'
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/solr.yml
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.1
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
@@ -1,4 +0,0 @@
1
- target1:
2
- url: http://localhost:8983/solr/
3
- target2:
4
- url: http://localhost:8983/solr/