Class: Elastomer::Client::Template
- Inherits:
-
Object
- Object
- Elastomer::Client::Template
- Defined in:
- lib/elastomer/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 - Elastomer::Client used for HTTP requests to the server name - The name of the template as a String
19 20 21 22 |
# File 'lib/elastomer/client/template.rb', line 19 def initialize( client, name ) @client = client @name = name end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
24 25 26 |
# File 'lib/elastomer/client/template.rb', line 24 def client @client end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
24 25 26 |
# File 'lib/elastomer/client/template.rb', line 24 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
51 52 53 54 |
# File 'lib/elastomer/client/template.rb', line 51 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.
81 82 83 |
# File 'lib/elastomer/client/template.rb', line 81 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
62 63 64 65 |
# File 'lib/elastomer/client/template.rb', line 62 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.
27 28 29 30 |
# File 'lib/elastomer/client/template.rb', line 27 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
39 40 41 42 |
# File 'lib/elastomer/client/template.rb', line 39 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.
74 75 76 77 78 |
# File 'lib/elastomer/client/template.rb', line 74 def update_params( params, overrides = nil ) h = defaults.update params h.update overrides unless overrides.nil? h end |