elastic_record 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35228738d6b8875529106acd57dee54d4492725b
4
- data.tar.gz: 5290db2983590a68dbecad15428f8d5286087c6c
3
+ metadata.gz: 6cafcc9bf248f805f94ae803aa56c68f5fc98fd4
4
+ data.tar.gz: 9a35cccb819ffa8d12dca1a46ebdd83196857184
5
5
  SHA512:
6
- metadata.gz: f4e7fb32dd4c5a2dff74347ba348e6f7a7ec86660971f5316d336446bd343618938239dac1940ad456a9baa3bba0a0a48f524b889ac083c01fb45a2012aa633f
7
- data.tar.gz: 3c955ea6ed44496b97ad7ee4d92aa5764e3ff50d0c11c999f7582a6197970eed98d2f829d6ab54424f3b428c7331541307b647eeed30ce67a2176b8dad3d4601
6
+ metadata.gz: de0b6cc1b50121db62927f58561b7e7f5f06251ef1250c6e91c30824aeff21c10edc5419f3e989fd028a0f4ad8023ccbe938538986fb77f2b1d11640d3440aa2
7
+ data.tar.gz: 101e114d54c18f9f0d04264e68191ed07b62415116ecda1c26c7428a82abad7b97a8f81e3f9bebbdb03101e0ede8230c7d0a1b3eec0098d23710cb6d21501f76
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'elastic_record'
5
- s.version = '1.3.0'
5
+ s.version = '1.3.1'
6
6
  s.summary = 'Use Elastic Search with your objects'
7
7
  s.description = 'Find your records with elastic search'
8
8
 
@@ -2,8 +2,6 @@ require 'active_support/core_ext/class/attribute'
2
2
 
3
3
  module ElasticRecord
4
4
  class Config
5
- class_attribute :servers
6
-
7
5
  class_attribute :connection_options
8
6
  self.connection_options = {}
9
7
 
@@ -18,9 +16,41 @@ module ElasticRecord
18
16
  @models ||= model_names.map { |model_name| model_name.constantize }
19
17
  end
20
18
 
19
+ def servers
20
+ @servers
21
+ end
22
+
23
+ def servers=(values)
24
+ unless values.is_a?(Array)
25
+ values = values.split(',')
26
+ end
27
+ @servers = values
28
+ end
29
+
21
30
  def settings=(settings)
22
31
  self.servers = settings['servers']
23
- self.connection_options = settings['options']
32
+
33
+ if settings['options']
34
+ warn("**************************************",
35
+ "elasticsearch.yml/:options is deprecated. For example, the following:",
36
+ "development:",
37
+ " servers: 127.0.0.1:9200",
38
+ " options:",
39
+ " timeout: 10",
40
+ " retries: 2",
41
+ "",
42
+ "becomes:",
43
+ "",
44
+ "development:",
45
+ " servers: 127.0.0.1:9200",
46
+ " timeout: 10",
47
+ " retries: 2",
48
+ "**************************************")
49
+ self.connection_options = settings['options']
50
+ else
51
+ self.connection_options = settings
52
+ end
53
+
24
54
  if scroll_keep_alive = settings['scroll_keep_alive'].presence
25
55
  self.scroll_keep_alive = scroll_keep_alive
26
56
  end
@@ -7,7 +7,8 @@ module ElasticRecord
7
7
  initializer "elastic_record.config" do |app|
8
8
  pathname = Rails.root.join('config', 'elasticsearch.yml')
9
9
  if pathname.exist?
10
- config = YAML.load(pathname.read)
10
+ config = ERB.new(pathname.read).result
11
+ config = YAML.load(config)
11
12
 
12
13
  if config = config[Rails.env]
13
14
  ElasticRecord::Config.settings = config
@@ -11,7 +11,24 @@ class ElasticRecord::ConfigTest < MiniTest::Unit::TestCase
11
11
  assert_equal [Warehouse, Widget], ElasticRecord::Config.models
12
12
  end
13
13
 
14
- def test_settings
15
-
14
+ def test_servers
15
+ with_servers ['abc.com', 'xyz.com'] do
16
+ assert_equal ['abc.com', 'xyz.com'], ElasticRecord::Config.servers
17
+ end
18
+
19
+ with_servers 'abc.com,xyz.com' do
20
+ assert_equal ['abc.com', 'xyz.com'], ElasticRecord::Config.servers
21
+ end
16
22
  end
23
+
24
+
25
+ private
26
+
27
+ def with_servers(values)
28
+ original = ElasticRecord::Config.servers
29
+ ElasticRecord::Config.servers = values
30
+ yield
31
+ ensure
32
+ ElasticRecord::Config.servers = original
33
+ end
17
34
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infogroup
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-03 00:00:00.000000000 Z
12
+ date: 2014-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: arelastic