stretcher 1.7.3 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,8 +14,12 @@ module Stretcher
14
14
  # Retrieves the document by ID
15
15
  # Normally this returns the contents of _source, however, the 'raw' flag is passed in, it will return the full response hash
16
16
  # Returns nil if the document does not exist
17
- def get(id, raw=false)
18
- res = request(:get, id)
17
+ def get(id, options={}, raw=false)
18
+ if options == true || options == false # Support raw as second argument, legacy API
19
+ raw = true
20
+ options = {}
21
+ end
22
+ res = request(:get, id, options)
19
23
  raw ? res : res["_source"]
20
24
  end
21
25
 
@@ -24,7 +24,7 @@ module Stretcher
24
24
  if r.key?('highlight')
25
25
  doc.merge!({"_highlight" => r['highlight']})
26
26
  end
27
- doc.merge!({"_id" => r['_id']})
27
+ doc.merge!({"_id" => r['_id'], "_index" => r['_index'], "_type" => r['_type']})
28
28
  end
29
29
  end
30
30
  end
@@ -1,3 +1,3 @@
1
1
  module Stretcher
2
- VERSION = "1.7.3"
2
+ VERSION = "1.8.0"
3
3
  end
@@ -55,7 +55,7 @@ describe Stretcher::IndexType do
55
55
 
56
56
  describe "put/get/delete/explain" do
57
57
  before do
58
- @doc = {:message => "hello!"}
58
+ @doc = {:message => "hello!", :_timestamp => 1366420401}
59
59
  @put_res = type.put(987, @doc)
60
60
  end
61
61
 
@@ -77,7 +77,19 @@ describe Stretcher::IndexType do
77
77
  }.should raise_exception(Stretcher::RequestError::NotFound)
78
78
  end
79
79
 
80
+ it "should get individual, passing through additional options" do
81
+ res = type.get(987, {:fields => ['_timestamp']})
82
+ res._timestamp.should == @doc[:_timestamp]
83
+ res.message == nil
84
+ end
85
+
80
86
  it "should get individual raw documents correctly" do
87
+ res = type.get(987, {}, true)
88
+ res["_id"].should == "987"
89
+ res["_source"].message.should == @doc[:message]
90
+ end
91
+
92
+ it "should get individual raw documents correctly with legacy API" do
81
93
  res = type.get(987, true)
82
94
  res["_id"].should == "987"
83
95
  res["_source"].message.should == @doc[:message]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stretcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3
4
+ version: 1.8.0
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: 2013-03-24 00:00:00.000000000 Z
12
+ date: 2013-04-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday