esearch 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/.travis.yml +2 -5
  4. data/Changelog.md +5 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.devtools +22 -18
  7. data/config/flay.yml +2 -2
  8. data/config/reek.yml +5 -4
  9. data/config/rubocop.yml +81 -0
  10. data/esearch.gemspec +7 -7
  11. data/lib/esearch.rb +3 -1
  12. data/lib/esearch/cluster.rb +6 -5
  13. data/lib/esearch/command.rb +15 -7
  14. data/lib/esearch/command/cluster.rb +6 -4
  15. data/lib/esearch/command/document.rb +13 -13
  16. data/lib/esearch/command/exist.rb +6 -4
  17. data/lib/esearch/command/index.rb +7 -5
  18. data/lib/esearch/command/search.rb +5 -4
  19. data/lib/esearch/command/status.rb +5 -3
  20. data/lib/esearch/connection.rb +4 -3
  21. data/lib/esearch/document.rb +4 -2
  22. data/lib/esearch/index.rb +4 -2
  23. data/lib/esearch/indices.rb +8 -6
  24. data/lib/esearch/mixin.rb +8 -6
  25. data/lib/esearch/presenter.rb +5 -3
  26. data/lib/esearch/presenter/aspect.rb +5 -3
  27. data/lib/esearch/presenter/aspect/range.rb +11 -9
  28. data/lib/esearch/presenter/aspect/term.rb +6 -4
  29. data/lib/esearch/presenter/cluster.rb +6 -4
  30. data/lib/esearch/presenter/document.rb +12 -10
  31. data/lib/esearch/presenter/facet.rb +9 -9
  32. data/lib/esearch/presenter/hit.rb +9 -8
  33. data/lib/esearch/presenter/hits.rb +8 -7
  34. data/lib/esearch/presenter/index.rb +9 -7
  35. data/lib/esearch/presenter/search.rb +7 -5
  36. data/lib/esearch/presenter/status.rb +6 -4
  37. data/lib/esearch/request.rb +5 -3
  38. data/lib/esearch/type.rb +5 -2
  39. data/spec/integration/esearch/spike_spec.rb +15 -10
  40. data/spec/spec_helper.rb +6 -5
  41. data/spec/support/example_group_methods.rb +2 -0
  42. data/spec/support/ice_nine_config.rb +2 -0
  43. data/spec/unit/esearch/cluster_spec.rb +59 -0
  44. data/spec/unit/esearch/command/class_methods/run_spec.rb +3 -1
  45. data/spec/unit/esearch/command/cluster/health/run_spec.rb +2 -0
  46. data/spec/unit/esearch/command/document/delete/run_spec.rb +3 -1
  47. data/spec/unit/esearch/command/document/get/result_spec.rb +5 -3
  48. data/spec/unit/esearch/command/document/index/create/run_spec.rb +6 -2
  49. data/spec/unit/esearch/command/document/index/run_create_spec.rb +6 -2
  50. data/spec/unit/esearch/command/document/index/run_spec.rb +3 -1
  51. data/spec/unit/esearch/command/document/index/run_update_spec.rb +6 -2
  52. data/spec/unit/esearch/command/document/index/update/run_spec.rb +6 -2
  53. data/spec/unit/esearch/command/exist/result_spec.rb +5 -3
  54. data/spec/unit/esearch/command/index/create/run_spec.rb +2 -0
  55. data/spec/unit/esearch/command/index/delete/run_spec.rb +3 -1
  56. data/spec/unit/esearch/command/index/refresh/run_spec.rb +3 -1
  57. data/spec/unit/esearch/command/result_spec.rb +17 -7
  58. data/spec/unit/esearch/command/search/run_spec.rb +2 -0
  59. data/spec/unit/esearch/command/status/run_spec.rb +3 -1
  60. data/spec/unit/esearch/connection/class_methods/build_spec.rb +2 -0
  61. data/spec/unit/esearch/connection/run_spec.rb +6 -4
  62. data/spec/unit/esearch/document_spec.rb +44 -0
  63. data/spec/unit/esearch/index_spec.rb +42 -0
  64. data/spec/unit/esearch/indices/all_spec.rb +16 -0
  65. data/spec/unit/esearch/indices_spec.rb +18 -0
  66. data/spec/unit/esearch/mixin/document/index_create_spec.rb +2 -0
  67. data/spec/unit/esearch/mixin/document/index_spec.rb +2 -0
  68. data/spec/unit/esearch/mixin/document/index_update_spec.rb +2 -0
  69. data/spec/unit/esearch/mixin/exist/exist_predicate_spec.rb +2 -0
  70. data/spec/unit/esearch/mixin/index/refresh_spec.rb +2 -0
  71. data/spec/unit/esearch/mixin/index/status_spec.rb +2 -0
  72. data/spec/unit/esearch/mixin/search/search_spec.rb +2 -0
  73. data/spec/unit/esearch/presenter/aspect/range/from_spec.rb +2 -0
  74. data/spec/unit/esearch/presenter/aspect/range/to_spec.rb +2 -0
  75. data/spec/unit/esearch/presenter/class_methods/new_spec.rb +2 -0
  76. data/spec/unit/esearch/presenter/facet_spec.rb +60 -0
  77. data/spec/unit/esearch/presenter/hit/fields_spec.rb +2 -0
  78. data/spec/unit/esearch/presenter/hit/source_spec.rb +2 -0
  79. data/spec/unit/esearch/presenter/hits/each_spec.rb +7 -5
  80. data/spec/unit/esearch/presenter/hits/size_spec.rb +5 -3
  81. data/spec/unit/esearch/presenter/search_spec.rb +50 -0
  82. data/spec/unit/esearch/request_spec.rb +96 -0
  83. data/spec/unit/esearch/type_spec.rb +37 -0
  84. metadata +34 -50
  85. data/spec/unit/esearch/cluster/class_methods/connect_spec.rb +0 -16
  86. data/spec/unit/esearch/cluster/health_spec.rb +0 -10
  87. data/spec/unit/esearch/cluster/index_spec.rb +0 -11
  88. data/spec/unit/esearch/cluster/indices_spec.rb +0 -11
  89. data/spec/unit/esearch/cluster/path_spec.rb +0 -11
  90. data/spec/unit/esearch/document/connection_spec.rb +0 -12
  91. data/spec/unit/esearch/document/delete_spec.rb +0 -12
  92. data/spec/unit/esearch/document/get_spec.rb +0 -12
  93. data/spec/unit/esearch/index/create_spec.rb +0 -12
  94. data/spec/unit/esearch/index/delete_spec.rb +0 -11
  95. data/spec/unit/esearch/index/type_spec.rb +0 -12
  96. data/spec/unit/esearch/indices/all/path_spec.rb +0 -12
  97. data/spec/unit/esearch/presenter/facet/build_spec.rb +0 -26
  98. data/spec/unit/esearch/presenter/facet/class_methods/build_spec.rb +0 -26
  99. data/spec/unit/esearch/request/initialize_spec.rb +0 -39
  100. data/spec/unit/esearch/request/run_spec.rb +0 -39
  101. data/spec/unit/esearch/type/connection_spec.rb +0 -15
  102. data/spec/unit/esearch/type/document_spec.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9b692861635b707f91c0371e112ecb747b3fe13
4
- data.tar.gz: 9503faf8f4b82942200e6839050b2718b8d2050f
3
+ metadata.gz: acafe41081092b280de121a3e1aa8a6a3813c6c2
4
+ data.tar.gz: 099294a0951e736419480912c320339b909a1f7a
5
5
  SHA512:
6
- metadata.gz: ad35c0ed296e7156c5ede3098b315b93567419a41a1fe91ef770120086472f8e61b4bcee9e8dec53ba1edf1576b5d89df616a2911fe31416f7119bd15246b06e
7
- data.tar.gz: a3bae467d4bab97f35a0a29db064ca3e56751710fff870a11311b9b82a460ed35a8686c7f8cbdea239c0d1e086490dfaacf21b7289066e0d1bf5403c6d1a3e69
6
+ metadata.gz: cc1e336abde1a44a9f80d3317963eed6a6257cb3cd0f7e37cf32f067e312a071b8118d6dc3034cc958dd55d4c1db93d6f6de68f0a29e52bde0a0a2172d7832ad
7
+ data.tar.gz: 6067f7779ff252a74aefc24350ed215748be3382fc399c1d938d77b152e7d67fff3705be46829fe25f65e3ecd0ad70969d6d30976476d2fd02403603e3298435
@@ -0,0 +1,6 @@
1
+ AllCops:
2
+ Includes:
3
+ - 'Gemfile'
4
+ Excludes:
5
+ - 'Gemfile.devtools'
6
+ - 'vendor/**'
@@ -3,13 +3,10 @@ script: 'bundle exec rake ci'
3
3
  services:
4
4
  - elasticsearch
5
5
  rvm:
6
- - 1.9.2
7
6
  - 1.9.3
8
7
  - 2.0.0
9
- - ruby-head
10
- - jruby-19mode
11
- - jruby-head
12
- - rbx-19mode
8
+ - rbx
9
+ - jruby
13
10
  notifications:
14
11
  irc:
15
12
  channels:
@@ -1,3 +1,8 @@
1
+ # v0.2.2 2014-03-29
2
+
3
+ * Bump dependencies
4
+ * Full mutation coverage
5
+
1
6
  # v0.2.1 2014-01-06
2
7
 
3
8
  * Bump adamantium and multi_json deps.
data/Gemfile CHANGED
@@ -2,5 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'devtools', :git => 'https://github.com/rom-rb/devtools.git'
5
+ gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
6
6
  eval File.read('Gemfile.devtools')
@@ -1,9 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  group :development do
4
- gem 'rake', '~> 10.1.0'
5
- gem 'rspec', '~> 2.14.1'
6
- gem 'yard', '~> 0.8.7'
4
+ gem 'rake', '~> 10.2.1'
5
+ gem 'rspec', '~> 2.14.1'
6
+ gem 'rspec-core', '~> 2.14.8'
7
+ gem 'yard', '~> 0.8.7.4'
7
8
 
8
9
  platform :rbx do
9
10
  gem 'rubysl-singleton', '~> 2.0.0'
@@ -11,23 +12,23 @@ group :development do
11
12
  end
12
13
 
13
14
  group :yard do
14
- gem 'kramdown', '~> 1.3.0'
15
+ gem 'kramdown', '~> 1.3.3'
15
16
  end
16
17
 
17
18
  group :guard do
18
- gem 'guard', '~> 2.2.4'
19
+ gem 'guard', '~> 2.6.0'
19
20
  gem 'guard-bundler', '~> 2.0.0'
20
- gem 'guard-rspec', '~> 4.2.0'
21
- gem 'guard-rubocop', '~> 1.0.0'
21
+ gem 'guard-rspec', '~> 4.2.8'
22
+ gem 'guard-rubocop', '~> 1.0.2'
22
23
 
23
24
  # file system change event handling
24
- gem 'listen', '~> 2.4.0'
25
+ gem 'listen', '~> 2.7.1'
25
26
  gem 'rb-fchange', '~> 0.0.6', require: false
26
- gem 'rb-fsevent', '~> 0.9.3', require: false
27
- gem 'rb-inotify', '~> 0.9.0', require: false
27
+ gem 'rb-fsevent', '~> 0.9.4', require: false
28
+ gem 'rb-inotify', '~> 0.9.3', require: false
28
29
 
29
30
  # notification handling
30
- gem 'libnotify', '~> 0.8.0', require: false
31
+ gem 'libnotify', '~> 0.8.2', require: false
31
32
  gem 'rb-notifu', '~> 0.0.4', require: false
32
33
  gem 'terminal-notifier-guard', '~> 1.5.3', require: false
33
34
  end
@@ -36,23 +37,26 @@ group :metrics do
36
37
  gem 'coveralls', '~> 0.7.0'
37
38
  gem 'flay', '~> 2.4.0'
38
39
  gem 'flog', '~> 4.2.0'
39
- gem 'reek', '~> 1.3.2'
40
- gem 'rubocop', '~> 0.16.0'
40
+ gem 'reek', '~> 1.3.7'
41
+ gem 'rubocop', '~> 0.19.1'
41
42
  gem 'simplecov', '~> 0.8.2'
42
- gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
43
+ gem 'yardstick', '~> 0.9.9'
44
+
45
+ platforms :mri do
46
+ gem 'mutant', '~> 0.5.9'
47
+ gem 'mutant-rspec', '~> 0.5.3'
48
+ end
43
49
 
44
50
  platforms :ruby_19, :ruby_20 do
45
- gem 'mutant', '~> 0.3.0', git: 'https://github.com/mbj/mutant.git'
46
- gem 'unparser', '~> 0.1.5', git: 'https://github.com/mbj/unparser.git'
47
51
  gem 'yard-spellcheck', '~> 0.1.5'
48
52
  end
49
53
 
50
54
  platform :rbx do
51
55
  gem 'json', '~> 1.8.1'
52
- gem 'racc', '~> 1.4.10'
56
+ gem 'racc', '~> 1.4.11'
53
57
  gem 'rubysl-logger', '~> 2.0.0'
54
58
  gem 'rubysl-open-uri', '~> 2.0.0'
55
- gem 'rubysl-prettyprint', '~> 2.0.2'
59
+ gem 'rubysl-prettyprint', '~> 2.0.3'
56
60
  end
57
61
  end
58
62
 
@@ -1,3 +1,3 @@
1
1
  ---
2
- threshold: 12
3
- total_score: 189
2
+ threshold: 12
3
+ total_score: 195
@@ -23,7 +23,7 @@ UncommunicativeMethodName:
23
23
  - !ruby/regexp /[0-9]$/
24
24
  - !ruby/regexp /[A-Z]/
25
25
  LongParameterList:
26
- max_params: 2
26
+ max_params: 2
27
27
  exclude:
28
28
  - Esearch::Request#initialize # 4 parameters, acceptable it is a DTO
29
29
  enabled: true
@@ -55,10 +55,11 @@ NestedIterators:
55
55
  max_allowed_nesting: 1
56
56
  TooManyStatements:
57
57
  max_statements: 5
58
- exclude: []
58
+ exclude:
59
+ - Esearch::Connection#run
59
60
  enabled: true
60
61
  DuplicateMethodCall:
61
- allow_calls:
62
+ allow_calls:
62
63
  - util.debug
63
64
  exclude: []
64
65
  enabled: true
@@ -88,7 +89,7 @@ DataClump:
88
89
  max_copies: 1
89
90
  min_clump_size: 3
90
91
  ControlParameter:
91
- exclude:
92
+ exclude:
92
93
  - Esearch::Index#read
93
94
  enabled: true
94
95
  LongYieldList:
@@ -0,0 +1,81 @@
1
+ inherit_from: ../.rubocop.yml
2
+
3
+ # Avoid parameter lists longer than five parameters.
4
+ ParameterLists:
5
+ Max: 5 # For DSL method. Subject specific exclude not available
6
+ CountKeywordArgs: true
7
+
8
+ # Avoid more than `Max` levels of nesting.
9
+ BlockNesting:
10
+ Max: 3
11
+
12
+ # Align with the style guide.
13
+ CollectionMethods:
14
+ PreferredMethods:
15
+ collect: 'map'
16
+ inject: 'reduce'
17
+ find: 'detect'
18
+ find_all: 'select'
19
+
20
+ # Do not force public/protected/private keyword to be indented at the same
21
+ # level as the def keyword. My personal preference is to outdent these keywords
22
+ # because I think when scanning code it makes it easier to identify the
23
+ # sections of code and visually separate them. When the keyword is at the same
24
+ # level I think it sort of blends in with the def keywords and makes it harder
25
+ # to scan the code and see where the sections are.
26
+ AccessModifierIndentation:
27
+ Enabled: false
28
+
29
+ MethodLength:
30
+ CountComments: false
31
+ Max: 17 # TODO: Bring down to 10
32
+
33
+ RegexpLiteral: # I do not agree %r(\A) is more readable than /\A/
34
+ Enabled: false
35
+
36
+ Eval:
37
+ Enabled: false # Mutant must use Kernel#eval to inject mutated source
38
+
39
+ # Limit line length
40
+ LineLength:
41
+ Max: 124 # TODO: lower to 79
42
+
43
+ # Disable documentation checking until a class needs to be documented once
44
+ Documentation:
45
+ Enabled: false
46
+
47
+ # Do not favor modifier if/unless usage when you have a single-line body
48
+ IfUnlessModifier:
49
+ Enabled: false
50
+
51
+ # Mutant needs to define methods like def bar; end in specs
52
+ Semicolon:
53
+ Enabled: false
54
+
55
+ # Mutant needs to define multiple methods on same line in specs
56
+ EmptyLineBetweenDefs:
57
+ Enabled: false
58
+
59
+ # Mutant needs to define singleton methods like Foo.bar in specs
60
+ ClassMethods:
61
+ Enabled: false
62
+
63
+ # Allow case equality operator (in limited use within the specs)
64
+ CaseEquality:
65
+ Enabled: false
66
+
67
+ # Constants do not always have to use SCREAMING_SNAKE_CASE
68
+ ConstantName:
69
+ Enabled: false
70
+
71
+ # Not all trivial readers/writers can be defined with attr_* methods
72
+ TrivialAccessors:
73
+ Enabled: false
74
+
75
+ # And also have a differend opinion here
76
+ AndOr:
77
+ Enabled: false
78
+
79
+ # Allow empty lines around body
80
+ EmptyLinesAroundBody:
81
+ Enabled: false
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = 'esearch'
5
- gem.version = '0.2.1'
5
+ gem.version = '0.2.2'
6
6
  gem.authors = [ 'Markus Schirp' ]
7
7
  gem.email = [ 'mbj@schirp-dso.com' ]
8
8
  gem.description = 'Esearch driver for ruby'
@@ -16,11 +16,11 @@ Gem::Specification.new do |gem|
16
16
  gem.extra_rdoc_files = %w[TODO]
17
17
 
18
18
  gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1')
19
- gem.add_runtime_dependency('concord', '~> 0.1.0')
20
- gem.add_runtime_dependency('faraday', '~> 0.8.4')
21
- gem.add_runtime_dependency('adamantium', '~> 0.1.0')
22
- gem.add_runtime_dependency('equalizer', '~> 0.0.5')
23
- gem.add_runtime_dependency('abstract_type', '~> 0.0.5')
24
- gem.add_runtime_dependency('multi_json', '~> 1.8.2')
19
+ gem.add_runtime_dependency('concord', '~> 0.1.4')
20
+ gem.add_runtime_dependency('faraday', '~> 0.9.0')
21
+ gem.add_runtime_dependency('adamantium', '~> 0.2.0')
22
+ gem.add_runtime_dependency('equalizer', '~> 0.0.9')
23
+ gem.add_runtime_dependency('abstract_type', '~> 0.0.7')
24
+ gem.add_runtime_dependency('multi_json', '~> 1.9.2')
25
25
  gem.add_runtime_dependency('null_logger', '~> 0.0.1')
26
26
  end
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  require 'multi_json'
2
4
  require 'faraday'
3
5
  require 'adamantium'
@@ -13,7 +15,7 @@ module Esearch
13
15
  class RemoteError < StandardError; end
14
16
  # Error raised when protocol is violated
15
17
  class ProtocolError < StandardError; end
16
- end
18
+ end # Esearch
17
19
 
18
20
  require 'esearch/request'
19
21
  require 'esearch/mixin'
@@ -1,6 +1,9 @@
1
+ # encoding: UTF-8
2
+
1
3
  module Esearch
2
4
  # Handle for an elasticsearch cluster
3
5
  class Cluster
6
+ PATH = Pathname.new('/').freeze
4
7
 
5
8
  include Adamantium::Flat, Concord.new(:connection)
6
9
 
@@ -55,11 +58,9 @@ module Esearch
55
58
  # @api private
56
59
  #
57
60
  def path
58
- self.class::PATH
61
+ PATH
59
62
  end
60
63
 
61
- PATH = Pathname.new('/')
62
-
63
64
  # Return handler for all indices
64
65
  #
65
66
  # @return [Indices::All]
@@ -81,5 +82,5 @@ module Esearch
81
82
  new(Connection.build(*args))
82
83
  end
83
84
 
84
- end
85
- end
85
+ end # Cluster
86
+ end # Esearch
@@ -1,9 +1,11 @@
1
+ # encoding: UTF-8
2
+
1
3
  module Esearch
2
4
  # Abstract base class for elasticsearch commands
3
- class Command
5
+ class Command
4
6
  include Adamantium::Flat, AbstractType, Concord.new(:context)
5
7
 
6
- EXPECTED_STATI = [ 200 ].freeze
8
+ EXPECTED_STATI = [200].freeze
7
9
  JSON_CONTENT_TYPE = 'application/json; charset=UTF-8'.freeze
8
10
 
9
11
  # Run command
@@ -86,7 +88,7 @@ module Esearch
86
88
  # Return expected response stati
87
89
  #
88
90
  # @return [Enumerable<Fixnum>]
89
- #
91
+ #
90
92
  # @api private
91
93
  #
92
94
  def expected_response_stati
@@ -112,7 +114,13 @@ module Esearch
112
114
  # @api private
113
115
  #
114
116
  def raise_status_error
115
- raise ProtocolError, "expected response stati: #{expected_response_stati.inspect} but got: #{response.status}, remote message: #{remote_message.inspect}"
117
+ message = format(
118
+ 'expected response stati: %s but got: %s, remote message: %s',
119
+ expected_response_stati,
120
+ response.status,
121
+ remote_message.inspect
122
+ )
123
+ fail ProtocolError, message
116
124
  end
117
125
 
118
126
  # Return remote message
@@ -137,7 +145,7 @@ module Esearch
137
145
  #
138
146
  def parsed_json
139
147
  unless json_content_type?
140
- raise ProtocolError, "Expected json content type, but got: #{content_type.inspect}"
148
+ fail ProtocolError, "Expected json content type, but got: #{content_type.inspect}"
141
149
  end
142
150
  MultiJson.load(response.body)
143
151
  end
@@ -154,5 +162,5 @@ module Esearch
154
162
  end
155
163
  memoize :response
156
164
 
157
- end
158
- end
165
+ end # Command
166
+ end # Esearch
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  module Esearch
2
4
  class Command
3
5
  # Base class for cluster commands
@@ -21,8 +23,8 @@ module Esearch
21
23
  Request.get('/_cluster/health', {}, options)
22
24
  end
23
25
 
24
- end
26
+ end # Health
25
27
 
26
- end
27
- end
28
- end
28
+ end # Cluster
29
+ end # Command
30
+ end # Esearch
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  module Esearch
2
4
  class Command
3
5
 
@@ -8,7 +10,7 @@ module Esearch
8
10
  class Index < self
9
11
  include Concord.new(:context, :document, :options)
10
12
 
11
- EXPECTED_STATI = [ 200, 201 ].freeze
13
+ EXPECTED_STATI = [200, 201].freeze
12
14
  PRESENTER = Presenter::Document::Operation::Index
13
15
 
14
16
  FORCE_OPTIONS = {}
@@ -37,21 +39,21 @@ module Esearch
37
39
 
38
40
  # Document index update command
39
41
  class Update < self
40
- EXPECTED_STATI = [ 200 ].freeze
41
- FORCE_OPTIONS = { :op_type => :index }.freeze
42
+ EXPECTED_STATI = [200].freeze
43
+ FORCE_OPTIONS = { op_type: :index }.freeze
42
44
  end
43
45
 
44
46
  # Document index create command
45
47
  class Create < self
46
- EXPECTED_STATI = [ 201 ].freeze
47
- FORCE_OPTIONS = { :op_type => :create }.freeze
48
+ EXPECTED_STATI = [201].freeze
49
+ FORCE_OPTIONS = { op_type: :create }.freeze
48
50
  end
49
51
  end
50
52
 
51
53
  # Present get document command result
52
54
  class Get < self
53
-
54
- EXPECTED_STATI = [ 200, 404 ].freeze
55
+
56
+ EXPECTED_STATI = [200, 404].freeze
55
57
  PRESENTER = Presenter::Document::Get
56
58
 
57
59
  # Return result
@@ -68,8 +70,6 @@ module Esearch
68
70
  assert_success
69
71
  if response.status == 200
70
72
  presenter.new(parsed_json)
71
- else
72
- nil
73
73
  end
74
74
  end
75
75
 
@@ -104,8 +104,8 @@ module Esearch
104
104
  Request.delete(context_path)
105
105
  end
106
106
 
107
- end
107
+ end # Delete
108
108
 
109
- end
110
- end
111
- end
109
+ end # Document
110
+ end # Command
111
+ end # Esearch