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