solr_wrapper 0.9.2 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 355fb4da1493c8acef5c50b5592fbe773c220bf2
4
- data.tar.gz: 028aaa504c0253da58d78ad498bdfe45849c0795
3
+ metadata.gz: 7916cf546d675d2a3f008f4a271aa4fc2cf7b8ae
4
+ data.tar.gz: 3d2e1456ff74edb606a60cef2fa1731ae5a74351
5
5
  SHA512:
6
- metadata.gz: 5852f71aa91dca84cc24c4587a0300c3cafc218e621d6400a1a21eeab070a659dfa2f81a88417f347af032a9606ad850633548a1079a42cf113244fefcf185be
7
- data.tar.gz: 78bc51949c8bf5c2a1dfa107a01144f748e4a3b834b9602fad88ad01785c20e5e74fcf1ea0ce48ef1081681baf79e9ca12d73e74414484206ee65d0db9177ef2
6
+ metadata.gz: ff2b8b312c13c8b68c233f0799c68f36761109beea56fe2648485a89be28980b53d16d5646479ce58c0575cdde11025ff9ed74b81c923eb923953dcfbcf862cf
7
+ data.tar.gz: 58a248017fd9ec7330af89ca300d686710a6c71c36d96d9af5cd1967e8c1a703be7618835d30d3f5f7066958e1046fef686f3fa2b0d2d308e3c8f4990c3963fe
@@ -99,6 +99,11 @@ module SolrWrapper
99
99
  Configuration.slice(convert_keys(hash), :name, :dir)
100
100
  end
101
101
 
102
+ def configsets
103
+ configsets = options[:configsets] || []
104
+ configsets.map { |x| convert_keys(x) }
105
+ end
106
+
102
107
  def poll_interval
103
108
  options.fetch(:poll_interval, 1)
104
109
  end
@@ -77,6 +77,8 @@ module SolrWrapper
77
77
  unless status
78
78
  sleep config.poll_interval
79
79
  end
80
+
81
+ after_start
80
82
  end
81
83
  end
82
84
 
@@ -355,6 +357,16 @@ module SolrWrapper
355
357
 
356
358
  private
357
359
 
360
+ def after_start
361
+ create_configsets if config.cloud
362
+ end
363
+
364
+ def create_configsets
365
+ config.configsets.each do |configset|
366
+ upconfig(configset)
367
+ end
368
+ end
369
+
358
370
  def extracted_version
359
371
  File.read(config.version_file).strip if File.exists? config.version_file
360
372
  end
@@ -1,3 +1,3 @@
1
1
  module SolrWrapper
2
- VERSION = '0.9.2'
2
+ VERSION = '0.10.0'
3
3
  end
@@ -2,3 +2,6 @@ port: 9999
2
2
  collection:
3
3
  dir: solr/config/
4
4
  name: project-development
5
+ configsets:
6
+ - dir: solr/config/
7
+ name: project-development-configset
@@ -41,4 +41,15 @@ describe SolrWrapper::Configuration do
41
41
  expect(config.collection_options).to eq(name: 'project-development', dir: 'solr/config/')
42
42
  end
43
43
  end
44
+
45
+ describe '#configsets' do
46
+ before do
47
+ allow(config).to receive(:default_configuration_paths).and_return([])
48
+ end
49
+ let(:options) { { config: 'spec/fixtures/sample_config.yml' } }
50
+
51
+ it 'uses values from the config file' do
52
+ expect(config.configsets).to include(name: 'project-development-configset', dir: 'solr/config/')
53
+ end
54
+ end
44
55
  end
@@ -7,6 +7,7 @@ describe SolrWrapper::Instance do
7
7
  let(:client) { SimpleSolrClient::Client.new(subject.url) }
8
8
 
9
9
  describe "#with_collection" do
10
+ let(:options) { { cloud: false } }
10
11
  context "without a name" do
11
12
  it "creates a new anonymous collection" do
12
13
  subject.wrap do |solr|
@@ -51,6 +52,22 @@ describe SolrWrapper::Instance do
51
52
  end
52
53
  end
53
54
  end
55
+
56
+ context 'with a config file' do
57
+ before do
58
+ allow(solr_instance.config).to receive(:configsets)
59
+ .and_return([name: 'project-development', dir: 'solr/config/'])
60
+ end
61
+
62
+ it 'creates a new configsets with options from the config' do
63
+ expect(subject).to receive(:upconfig).with(
64
+ hash_including(name: 'project-development', dir: anything))
65
+
66
+ subject.wrap do
67
+ # no-op
68
+ end
69
+ end
70
+ end
54
71
  end
55
72
 
56
73
  describe 'exec' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solr_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer