class Evervault::Client

Attributes

api_key[RW]
base_url[RW]
cage_run_url[RW]
request_timeout[RW]

Public Class Methods

new( api_key:, base_url: "https://api.evervault.com/", cage_run_url: "https://cage.run/", request_timeout: 30 ) click to toggle source
# File lib/evervault/client.rb, line 9
def initialize(
  api_key:,
  base_url: "https://api.evervault.com/",
  cage_run_url: "https://cage.run/",
  request_timeout: 30
)
  @api_key = api_key
  @base_url = base_url
  @cage_run_url = cage_run_url
  @request =
    Evervault::Http::Request.new(
      api_key: api_key,
      timeout: request_timeout,
      base_url: base_url,
      cage_run_url: cage_run_url
    )
  @crypto_client = Evervault::Crypto::Client.new(request: @request)
end

Public Instance Methods

cage_list() click to toggle source
# File lib/evervault/client.rb, line 45
def cage_list
  cages = @request.get("cages")
  @cage_list ||= Evervault::Models::CageList.new(cages: cages["cages"], request: @request)
end
cages() click to toggle source
# File lib/evervault/client.rb, line 41
def cages
  cage_list.to_hash
end
encrypt(data) click to toggle source
# File lib/evervault/client.rb, line 28
def encrypt(data)
  @crypto_client.encrypt(data)
end
encrypt_and_run(cage_name, data, options = {}) click to toggle source
# File lib/evervault/client.rb, line 36
def encrypt_and_run(cage_name, data, options = {})
  encrypted_data = encrypt(data)
  run(cage_name, encrypted_data, options)
end
run(cage_name, encrypted_data, options = {}) click to toggle source
# File lib/evervault/client.rb, line 32
def run(cage_name, encrypted_data, options = {})
  @request.post(cage_name, encrypted_data, options: options, cage_run: true)
end