Method: Elasticsearch::API::Actions#put_script
- Defined in:
- lib/elasticsearch/api/actions/put_script.rb
#put_script(arguments = {}) ⇒ Object
Create or update a script or search template. Creates or updates a stored script or search template.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/elasticsearch/api/actions/put_script.rb', line 53 def put_script(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'put_script' } defined_params = [:id, :context].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) _context = arguments.delete(:context) method = Elasticsearch::API::HTTP_PUT path = if _id && _context "_scripts/#{Utils.listify(_id)}/#{Utils.listify(_context)}" else "_scripts/#{Utils.listify(_id)}" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |