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.
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/