desi 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 81f6389bbcf7c1533303272acc2314f162cd7a10
4
+ data.tar.gz: a93dec74d9b3aaa73aba33d2dba6259ffbc9ba82
5
+ SHA512:
6
+ metadata.gz: c6e7c6cc546f30081b0a4f13822183f79bad0a9c8f893037d6cfcefca52476a6d9a2c907872830c162175a969829b4f2b63a4924d8884eeff369d6aac666a86e
7
+ data.tar.gz: cf3349fd827e4cd667d8ceda030d1bed26d8ec140a0d6c711173cd2087575b497d6a68e63b3790e79575dee1564f831542c81d6d4cf564deb921c596008c83e9
data/.gitignore CHANGED
@@ -17,4 +17,6 @@ test/version_tmp
17
17
  tmp
18
18
  .rvmrc
19
19
  .rbenv*
20
+ .ruby-version
21
+ .ruby-gemset
20
22
  tags
data/.travis.yml CHANGED
@@ -2,3 +2,4 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 1.9.2
5
+ - 2.0.0
@@ -10,23 +10,51 @@ module Desi
10
10
  class IndexManager
11
11
 
12
12
  class Index
13
- attr_reader :name, :number_of_documents
13
+ attr_reader :name, :number_of_documents, :aliases, :state, :number_of_documents
14
14
 
15
- def initialize(name, data)
15
+ def initialize(name, state_data, status_data)
16
16
  @name = name
17
- @number_of_documents = data["docs"]["num_docs"] if data && data["docs"]
17
+ @number_of_documents = status_data["docs"]["num_docs"] if status_data && status_data["docs"]
18
+ @aliases = []
19
+
20
+ if state_data
21
+ @aliases = state_data['aliases']
22
+ @state = state_data['state']
23
+ end
18
24
  end
19
25
 
20
26
  def to_s
21
- @name
27
+ name
22
28
  end
23
29
 
24
30
  def inspect
25
- "#{@name} (#{@number_of_documents} documents)"
31
+ "#{name} (#{number_of_docs_label})#{aliases_label}"
32
+ end
33
+
34
+ def aliased?
35
+ !(aliases.nil? || aliases.empty?)
26
36
  end
27
37
 
28
38
  def <=>(other)
29
- @name <=> other.name
39
+ name <=> other.name
40
+ end
41
+
42
+ def open?
43
+ state == "open"
44
+ end
45
+
46
+ def closed?
47
+ state == "close"
48
+ end
49
+
50
+ private
51
+
52
+ def number_of_docs_label
53
+ closed? ? 'CLOSED' : "#{number_of_documents} docs"
54
+ end
55
+
56
+ def aliases_label
57
+ aliased? ? ". Aliases: #{aliases.join(', ')}" : nil
30
58
  end
31
59
  end
32
60
 
@@ -132,8 +160,13 @@ module Desi
132
160
  private
133
161
 
134
162
  def indices(pattern)
135
- JSON.parse(@client.get('/_status').body)["indices"].map {|k, v|
136
- Index.new(k, v) if k =~ pattern
163
+ cluster_state = JSON.parse(@client.get('/_cluster/state').body)
164
+ status = JSON.parse(@client.get('/_status').body)
165
+
166
+ cluster_state["metadata"]["indices"].map {|k, v|
167
+ if k =~ pattern
168
+ Index.new(k, v, status['indices'][k])
169
+ end
137
170
  }.compact
138
171
  end
139
172
 
data/lib/desi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Desi
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -19,6 +19,7 @@ describe Desi::IndexManager do
19
19
 
20
20
  def stub_indices(*names)
21
21
  stub_request(:get, '/_status', {"indices" => Hash[Array(names).zip]})
22
+ stub_request(:get, '/_cluster/state', {"metadata" => {"indices" => Hash[Array(names).zip]}})
22
23
  end
23
24
 
24
25
  before do
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dominique Rose-Rosette
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-20 00:00:00.000000000 Z
11
+ date: 2013-04-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: boson
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: cocaine
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '='
44
39
  - !ruby/object:Gem::Version
@@ -46,135 +41,118 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: addressable
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: guard-rspec
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: guard-yard
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: redcarpet
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rb-inotify
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - '>='
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - '>='
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: pry
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - '>='
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0'
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0'
174
- description: ! 'Desi (Developper ElasticSearch Installer) is very simple tool to quickly
175
- set up
176
-
177
- an Elastic Search local install for development purposes.'
153
+ description: |-
154
+ Desi (Developper ElasticSearch Installer) is very simple tool to quickly set up
155
+ an Elastic Search local install for development purposes.
178
156
  email:
179
157
  - drose-rosette@af83.com
180
158
  executables:
@@ -212,27 +190,26 @@ files:
212
190
  - tasks/yard.rake
213
191
  homepage: https://github.com/AF83/desi/
214
192
  licenses: []
193
+ metadata: {}
215
194
  post_install_message:
216
195
  rdoc_options: []
217
196
  require_paths:
218
197
  - lib
219
198
  required_ruby_version: !ruby/object:Gem::Requirement
220
- none: false
221
199
  requirements:
222
- - - ! '>='
200
+ - - '>='
223
201
  - !ruby/object:Gem::Version
224
202
  version: '0'
225
203
  required_rubygems_version: !ruby/object:Gem::Requirement
226
- none: false
227
204
  requirements:
228
- - - ! '>='
205
+ - - '>='
229
206
  - !ruby/object:Gem::Version
230
207
  version: '0'
231
208
  requirements: []
232
209
  rubyforge_project:
233
- rubygems_version: 1.8.23
210
+ rubygems_version: 2.0.3
234
211
  signing_key:
235
- specification_version: 3
212
+ specification_version: 4
236
213
  summary: A developer tool to quickly set up an Elastic Search local install.
237
214
  test_files:
238
215
  - spec/desi/index_manager_spec.rb