module Rockset
Public Class Methods
add_docs(docs, collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 42 def Rockset.add_docs(docs, collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}/docs") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{\"data\": #{docs.to_json}}" http.request(req) end return(JSON.parse(res.body)) end
add_qlambda(name, query, description="", default_params=[], workspace="commons")
click to toggle source
# File lib/rockset.rb, line 156 def Rockset.add_qlambda(name, query, description="", default_params=[], workspace="commons") uri = URI("#{$server}/ws/#{workspace}/lambdas") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{ \"name\": \"#{name}\", \"description\": \"#{description}\", \"sql\": { \"query\": \"#{query}\", \"default_parameters\": #{default_params.to_json} } }" http.request(req) end return(JSON.parse(res.body)) end
auth(api_key, server)
click to toggle source
# File lib/rockset.rb, line 9 def Rockset.auth(api_key, server) $key = api_key $server = "https://#{server}/v1/orgs/self" end
create_collection(collection_metadata, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 78 def Rockset.create_collection(collection_metadata, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "#{collection_metadata.to_json}" http.request(req) end return(JSON.parse(res.body)) end
del_collection(collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 90 def Rockset.del_collection(collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Delete.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
del_docs(docs, collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 54 def Rockset.del_docs(docs, collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}/docs") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Delete.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{\"data\": #{docs.to_json}}" http.request(req) end return(JSON.parse(res.body)) end
del_qlambda(qlambda, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 175 def Rockset.del_qlambda(qlambda, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/lambdas/#{qlambda}") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Delete.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
exec_qlambda(qlambda, version, parameters=[], workspace="commons")
click to toggle source
# File lib/rockset.rb, line 186 def Rockset.exec_qlambda(qlambda, version, parameters=[], workspace="commons") uri = URI("#{$server}/ws/#{workspace}/lambdas/#{qlambda}/versions/#{version}") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{ \"parameters\": #{parameters.to_json} }" http.request(req) end return(JSON.parse(res.body)) end
get_collection(collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 101 def Rockset.get_collection(collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Get.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
get_collection_qlambdas(collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 112 def Rockset.get_collection_qlambdas(collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}/lambdas") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Get.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
get_collections()
click to toggle source
# File lib/rockset.rb, line 123 def Rockset.get_collections uri = URI("#{$server}/collections") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Get.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
get_org()
click to toggle source
# File lib/rockset.rb, line 145 def Rockset.get_org uri = URI("#{$server}") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Get.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
get_workspace_collections(workspace="commons")
click to toggle source
# File lib/rockset.rb, line 134 def Rockset.get_workspace_collections(workspace="commons") uri = URI("#{server}/ws/#{workspace}/collections") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Get.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" http.request(req) end return(JSON.parse(res.body)) end
patch_docs(docs, collection, workspace="commons")
click to toggle source
# File lib/rockset.rb, line 66 def Rockset.patch_docs(docs, collection, workspace="commons") uri = URI("#{$server}/ws/#{workspace}/collections/#{collection}/docs") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Patch.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{\"data\": #{docs.to_json}}" http.request(req) end return(JSON.parse(res.body)) end
query(query)
click to toggle source
# File lib/rockset.rb, line 14 def Rockset.query(query) uri = URI("#{$server}/queries") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{\"sql\": {\"query\": \"#{query}\"}}" http.request(req) end return(JSON.parse(res.body)) end
validate_query(query)
click to toggle source
# File lib/rockset.rb, line 26 def Rockset.validate_query(query) uri = URI("#{$server}/queries/validations") res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| req = Net::HTTP::Post.new(uri) req["Content-Type"] = "application/json" req["Authorization"] = "ApiKey #{$key}" req.body = "{\"sql\": {\"query\": \"#{query}\"}}" http.request(req) end if res.code == "200" return("Valid") else raise(InvalidQuery.new(res.body)) end end