elasticshell 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/README.rdoc +119 -55
  2. data/VERSION +1 -1
  3. data/bin/es +0 -2
  4. data/lib/elasticshell.rb +30 -25
  5. data/lib/elasticshell/client.rb +34 -13
  6. data/lib/elasticshell/command.rb +14 -170
  7. data/lib/elasticshell/commands/blank.rb +14 -0
  8. data/lib/elasticshell/commands/cd.rb +27 -0
  9. data/lib/elasticshell/commands/connect.rb +31 -0
  10. data/lib/elasticshell/commands/df.rb +23 -0
  11. data/lib/elasticshell/commands/help.rb +77 -0
  12. data/lib/elasticshell/commands/ls.rb +66 -0
  13. data/lib/elasticshell/commands/pretty.rb +21 -0
  14. data/lib/elasticshell/commands/pwd.rb +17 -0
  15. data/lib/elasticshell/commands/request.rb +81 -0
  16. data/lib/elasticshell/commands/request_parser.rb +77 -0
  17. data/lib/elasticshell/commands/set_verb.rb +23 -0
  18. data/lib/elasticshell/commands/unknown.rb +17 -0
  19. data/lib/elasticshell/scopes.rb +81 -50
  20. data/lib/elasticshell/scopes/cluster.rb +8 -16
  21. data/lib/elasticshell/scopes/global.rb +22 -23
  22. data/lib/elasticshell/scopes/index.rb +35 -29
  23. data/lib/elasticshell/scopes/mapping.rb +8 -28
  24. data/lib/elasticshell/scopes/nodes.rb +6 -15
  25. data/lib/elasticshell/shell.rb +155 -93
  26. data/lib/elasticshell/utils.rb +10 -0
  27. data/lib/elasticshell/{error.rb → utils/error.rb} +1 -0
  28. data/lib/elasticshell/utils/has_name.rb +14 -0
  29. data/lib/elasticshell/utils/has_verb.rb +15 -0
  30. data/lib/elasticshell/{log.rb → utils/log.rb} +1 -1
  31. data/lib/elasticshell/utils/recognizes_verb.rb +25 -0
  32. data/spec/elasticshell/client_spec.rb +55 -0
  33. data/spec/elasticshell/commands/blank_spec.rb +14 -0
  34. data/spec/elasticshell/commands/cd_spec.rb +23 -0
  35. data/spec/elasticshell/commands/connect_spec.rb +21 -0
  36. data/spec/elasticshell/commands/df_spec.rb +18 -0
  37. data/spec/elasticshell/commands/help_spec.rb +21 -0
  38. data/spec/elasticshell/commands/ls_spec.rb +24 -0
  39. data/spec/elasticshell/commands/pretty_spec.rb +19 -0
  40. data/spec/elasticshell/commands/pwd_spec.rb +14 -0
  41. data/spec/elasticshell/commands/request_parser_spec.rb +4 -0
  42. data/spec/elasticshell/commands/request_spec.rb +60 -0
  43. data/spec/elasticshell/commands/set_verb_spec.rb +14 -0
  44. data/spec/elasticshell/scopes_spec.rb +79 -0
  45. data/spec/elasticshell/shell_spec.rb +19 -0
  46. data/spec/elasticshell/utils/has_name_spec.rb +15 -0
  47. data/spec/elasticshell/utils/has_verb_spec.rb +24 -0
  48. data/spec/elasticshell/utils/recognizes_verb_spec.rb +23 -0
  49. data/spec/spec_helper.rb +4 -5
  50. data/spec/support/data.yml +45 -0
  51. data/spec/support/fake_output.rb +27 -0
  52. metadata +73 -4
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe RecognizesVerb do
4
+
5
+ before do
6
+ @obj = Class.new { include RecognizesVerb }.new
7
+ end
8
+
9
+ it "can recognize an HTTP verb" do
10
+ expect(@obj.is_http_verb?("GET")).to be_true
11
+ expect(@obj.is_http_verb?("get")).to be_true
12
+ expect(@obj.is_http_verb?("HEAD")).to be_true
13
+ expect(@obj.is_http_verb?("POST")).to be_true
14
+ end
15
+
16
+ it "can canonicalize HTTP verbs" do
17
+ expect(@obj.canonicalize_verb("get")).to eq("GET")
18
+ expect(@obj.canonicalize_verb("gEt")).to eq("GET")
19
+ expect(@obj.canonicalize_verb(:get)).to eq("GET")
20
+ end
21
+
22
+ end
23
+
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,11 @@
1
1
  require 'rspec'
2
2
 
3
- ELASTICSHELL_ROOT = File.expand_path(__FILE__, '../../lib')
3
+ ELASTICSHELL_ROOT = File.expand_path(__FILE__, '../../lib') unless defined?(ELASTICSHELL_ROOT)
4
4
  $: << ELASTICSHELL_ROOT unless $:.include?(ELASTICSHELL_ROOT)
5
5
  require 'elasticshell'
6
+ Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |path| require path }
6
7
  include Elasticshell
8
+ include Elasticshell::Spec
9
+
7
10
 
8
- Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |path| require path }
9
11
 
10
- RSpec.configure do |config|
11
- config.mock_with :rspec
12
- end
@@ -0,0 +1,45 @@
1
+ ---
2
+
3
+ blog:
4
+ entries:
5
+ 1:
6
+ title: Do you suffer from headaches?
7
+ date: "2012-10-15 Mon 17:37"
8
+ tags:
9
+ - stress
10
+ - headaches
11
+ - quackery
12
+ body: |-
13
+ Then you should really think about investing in a better pillow.
14
+
15
+ 2:
16
+ title: My favorite color is lobster.
17
+ date: "2012-10-16 Tue 17:37"
18
+ tags:
19
+ - inane
20
+ - silly
21
+ body: |-
22
+ I don't even think 'lobster' is a color.
23
+ _noid_:
24
+ - title: I am not saved.
25
+ date: "2012-10-17 Wed 17:37"
26
+ tags:
27
+ - acid
28
+ - rest
29
+ body: |-
30
+ Wouldn't ACID REST be a cool name for a band? Or a skin disease?
31
+
32
+ comments:
33
+ 1:
34
+ post_id: 2
35
+ date: "2012-10-18 Thr 17:37"
36
+ author: Some Jackass
37
+ body: |
38
+ Have you seen *my* blog? It's super cool.
39
+
40
+ 2:
41
+ post_id: 1
42
+ date: "2012-10-19 Fri 17:37"
43
+ author: Your Mom
44
+ body: |
45
+ You never calll!
@@ -0,0 +1,27 @@
1
+ module Elasticshell
2
+ module Spec
3
+ class FakeOutput
4
+
5
+ def initialize
6
+ @buffer = ''
7
+ end
8
+
9
+ def write s
10
+ @buffer += s
11
+ end
12
+
13
+ def puts s
14
+ write(s + "\n")
15
+ end
16
+
17
+ def read
18
+ @buffer
19
+ end
20
+
21
+ def gets arg
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticshell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-16 00:00:00.000000000 Z
12
+ date: 2012-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: ZenTest
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: json
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +91,22 @@ dependencies:
75
91
  - - ! '>='
76
92
  - !ruby/object:Gem::Version
77
93
  version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: ripl
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
78
110
  description: Elasticshell provides a command-line shell 'es' for connecting to and
79
111
  querying an Elasticsearch database. The shell will tab-complete Elasticsearch API
80
112
  commands and index/mapping names.
@@ -86,21 +118,55 @@ extensions: []
86
118
  extra_rdoc_files: []
87
119
  files:
88
120
  - bin/es
121
+ - lib/elasticshell/utils.rb
89
122
  - lib/elasticshell/scopes/cluster.rb
90
123
  - lib/elasticshell/scopes/mapping.rb
91
124
  - lib/elasticshell/scopes/global.rb
92
125
  - lib/elasticshell/scopes/index.rb
93
126
  - lib/elasticshell/scopes/nodes.rb
127
+ - lib/elasticshell/commands/help.rb
128
+ - lib/elasticshell/commands/connect.rb
129
+ - lib/elasticshell/commands/pretty.rb
130
+ - lib/elasticshell/commands/pwd.rb
131
+ - lib/elasticshell/commands/unknown.rb
132
+ - lib/elasticshell/commands/request_parser.rb
133
+ - lib/elasticshell/commands/cd.rb
134
+ - lib/elasticshell/commands/set_verb.rb
135
+ - lib/elasticshell/commands/df.rb
136
+ - lib/elasticshell/commands/request.rb
137
+ - lib/elasticshell/commands/blank.rb
138
+ - lib/elasticshell/commands/ls.rb
94
139
  - lib/elasticshell/command.rb
95
- - lib/elasticshell/log.rb
96
140
  - lib/elasticshell/shell.rb
97
141
  - lib/elasticshell/client.rb
98
- - lib/elasticshell/error.rb
99
142
  - lib/elasticshell/scopes.rb
143
+ - lib/elasticshell/utils/log.rb
144
+ - lib/elasticshell/utils/recognizes_verb.rb
145
+ - lib/elasticshell/utils/has_name.rb
146
+ - lib/elasticshell/utils/has_verb.rb
147
+ - lib/elasticshell/utils/error.rb
100
148
  - lib/elasticshell.rb
101
149
  - spec/elasticshell/scopes_spec.rb
150
+ - spec/elasticshell/commands/request_spec.rb
151
+ - spec/elasticshell/commands/blank_spec.rb
152
+ - spec/elasticshell/commands/cd_spec.rb
153
+ - spec/elasticshell/commands/connect_spec.rb
154
+ - spec/elasticshell/commands/ls_spec.rb
155
+ - spec/elasticshell/commands/pretty_spec.rb
156
+ - spec/elasticshell/commands/request_parser_spec.rb
157
+ - spec/elasticshell/commands/help_spec.rb
158
+ - spec/elasticshell/commands/df_spec.rb
159
+ - spec/elasticshell/commands/set_verb_spec.rb
160
+ - spec/elasticshell/commands/pwd_spec.rb
102
161
  - spec/elasticshell/command_spec.rb
162
+ - spec/elasticshell/client_spec.rb
163
+ - spec/elasticshell/shell_spec.rb
164
+ - spec/elasticshell/utils/recognizes_verb_spec.rb
165
+ - spec/elasticshell/utils/has_name_spec.rb
166
+ - spec/elasticshell/utils/has_verb_spec.rb
103
167
  - spec/spec_helper.rb
168
+ - spec/support/fake_output.rb
169
+ - spec/support/data.yml
104
170
  - LICENSE
105
171
  - README.rdoc
106
172
  - VERSION
@@ -116,6 +182,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
182
  - - ! '>='
117
183
  - !ruby/object:Gem::Version
118
184
  version: '0'
185
+ segments:
186
+ - 0
187
+ hash: -2162304866060905026
119
188
  required_rubygems_version: !ruby/object:Gem::Requirement
120
189
  none: false
121
190
  requirements: