Class: ElastomerClient::Client::Template
- Inherits:
-
Object
- Object
- ElastomerClient::Client::Template
- Defined in:
- lib/elastomer_client/client/template.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#create(template, params = {}) ⇒ Object
Create the template on the cluster.
-
#defaults ⇒ Object
Internal: Returns a Hash containing default parameters.
-
#delete(params = {}) ⇒ Object
Delete the template from the cluster.
-
#exists?(params = {}) ⇒ Boolean
(also: #exist?)
Returns true if the template already exists on the cluster.
-
#get(params = {}) ⇒ Object
Get the template from the cluster.
-
#initialize(client, name) ⇒ Template
constructor
Create a new template client for making API requests that pertain to template management.
-
#update_params(params, overrides = nil) ⇒ Object
Internal: Add default parameters to the ‘params` Hash and then apply `overrides` to the params if any are given.
Constructor Details
#initialize(client, name) ⇒ Template
Create a new template client for making API requests that pertain to template management.
client - ElastomerClient::Client used for HTTP requests to the server name - The name of the template as a String
20 21 22 23 |
# File 'lib/elastomer_client/client/template.rb', line 20 def initialize(client, name) @client = client @name = name end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
25 26 27 |
# File 'lib/elastomer_client/client/template.rb', line 25 def client @client end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
25 26 27 |
# File 'lib/elastomer_client/client/template.rb', line 25 def name @name end |
Instance Method Details
#create(template, params = {}) ⇒ Object
Create the template on the cluster. See www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
template - The template as a Hash or a JSON encoded String params - Parameters Hash
Returns the response body as a Hash
52 53 54 55 |
# File 'lib/elastomer_client/client/template.rb', line 52 def create(template, params = {}) response = client.put "/_template/{template}", update_params(params, body: template, action: "template.create", rest_api: "indices.put_template") response.body end |
#defaults ⇒ Object
Internal: Returns a Hash containing default parameters.
82 83 84 |
# File 'lib/elastomer_client/client/template.rb', line 82 def defaults { template: name } end |
#delete(params = {}) ⇒ Object
Delete the template from the cluster. See www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html#delete
params - Parameters Hash
Returns the response body as a Hash
63 64 65 66 |
# File 'lib/elastomer_client/client/template.rb', line 63 def delete(params = {}) response = client.delete "/_template/{template}", update_params(params, action: "template.delete", rest_api: "indices.delete_template") response.body end |
#exists?(params = {}) ⇒ Boolean Also known as: exist?
Returns true if the template already exists on the cluster.
28 29 30 31 |
# File 'lib/elastomer_client/client/template.rb', line 28 def exists?(params = {}) response = client.head "/_template/{template}", update_params(params, action: "template.exists", rest_api: "indices.exists_template") response.success? end |
#get(params = {}) ⇒ Object
Get the template from the cluster. See www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html#getting
params - Parameters Hash
Returns the response body as a Hash
40 41 42 43 |
# File 'lib/elastomer_client/client/template.rb', line 40 def get(params = {}) response = client.get "/_template/{template}", update_params(params, action: "template.get", rest_api: "indices.get_template") response.body end |
#update_params(params, overrides = nil) ⇒ Object
Internal: Add default parameters to the ‘params` Hash and then apply `overrides` to the params if any are given.
params - Parameters Hash overrides - Optional parameter overrides as a Hash
Returns a new params Hash.
75 76 77 78 79 |
# File 'lib/elastomer_client/client/template.rb', line 75 def update_params(params, overrides = nil) h = defaults.update params h.update overrides unless overrides.nil? h end |