Class: Elastomer::Client::Percolator

Inherits:
Object
  • Object
show all
Defined in:
lib/elastomer/client/percolator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, index_name, id) ⇒ Percolator

Create a new Percolator for managing a query.

client - Elastomer::Client used for HTTP requests to the server index_name - The index name id - The _id for the query



11
12
13
14
15
# File 'lib/elastomer/client/percolator.rb', line 11

def initialize(client, index_name, id)
  @client = client
  @index_name = client.assert_param_presence(index_name, "index name")
  @id = client.assert_param_presence(id, "id")
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



17
18
19
# File 'lib/elastomer/client/percolator.rb', line 17

def client
  @client
end

#idObject (readonly)

Returns the value of attribute id.



17
18
19
# File 'lib/elastomer/client/percolator.rb', line 17

def id
  @id
end

#index_nameObject (readonly)

Returns the value of attribute index_name.



17
18
19
# File 'lib/elastomer/client/percolator.rb', line 17

def index_name
  @index_name
end

Instance Method Details

#create(body, params = {}) ⇒ Object

Create a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.create :query => { :match_all => { } }

Returns the response body as a Hash



27
28
29
30
# File 'lib/elastomer/client/percolator.rb', line 27

def create(body, params = {})
  response = client.put("/{index}/.percolator/{id}", defaults.merge(params.merge(:body => body, :action => "percolator.create")))
  response.body
end

#defaultsObject

Internal: Returns a Hash containing default parameters.



71
72
73
# File 'lib/elastomer/client/percolator.rb', line 71

def defaults
  {:index => index_name, :id => id}
end

#delete(params = {}) ⇒ Object

Delete a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.delete

Returns the response body as a Hash



53
54
55
56
# File 'lib/elastomer/client/percolator.rb', line 53

def delete(params = {})
  response = client.delete("/{index}/.percolator/{id}", defaults.merge(params.merge(:action => "percolator.delete")))
  response.body
end

#exists?(params = {}) ⇒ Boolean

Checks for the existence of a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.exists?

Returns a boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/elastomer/client/percolator.rb', line 66

def exists?(params = {})
  get(params)["found"]
end

#get(params = {}) ⇒ Object

Gets a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.get

Returns the response body as a Hash



40
41
42
43
# File 'lib/elastomer/client/percolator.rb', line 40

def get(params = {})
  response = client.get("/{index}/.percolator/{id}", defaults.merge(params.merge(:action => "percolator.get")))
  response.body
end