Class: Keen::SavedQueries

Inherits:
Object
  • Object
show all
Defined in:
lib/keen/saved_queries.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ SavedQueries

Returns a new instance of SavedQueries.



6
7
8
# File 'lib/keen/saved_queries.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#allObject



10
11
12
13
14
15
# File 'lib/keen/saved_queries.rb', line 10

def all
  client.ensure_master_key!

  response = saved_query_response(client.master_key)
  client.process_response(response.code.to_i, response.body)
end

#create(saved_query_name, saved_query_body) ⇒ Object Also known as: update



33
34
35
36
37
38
39
40
41
42
# File 'lib/keen/saved_queries.rb', line 33

def create(saved_query_name, saved_query_body)
  client.ensure_master_key!

  response = Keen::HTTP::Sync.new(client.api_url, client.proxy_url, client.read_timeout, client.open_timeout).put(
    path: "#{saved_query_base_url}/#{saved_query_name}",
    headers: api_headers(client.master_key, "sync"),
    body: saved_query_body
  )
  client.process_response(response.code.to_i, response.body)
end

#delete(saved_query_name) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/keen/saved_queries.rb', line 45

def delete(saved_query_name)
  client.ensure_master_key!

  response = Keen::HTTP::Sync.new(client.api_url, client.proxy_url, client.read_timeout, client.open_timeout).delete(
    path: "#{saved_query_base_url}/#{saved_query_name}",
    headers: api_headers(client.master_key, "sync")
  )
  client.process_response(response.code.to_i, response.body)
end

#get(saved_query_name, results = false) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/keen/saved_queries.rb', line 17

def get(saved_query_name, results = false)
  saved_query_path = "/#{saved_query_name}"
  if results
    client.ensure_read_key!
    saved_query_path += "/result"
    # The results path should use the READ KEY
    api_key = client.read_key
  else
    client.ensure_master_key!
    api_key = client.master_key
  end

  response = saved_query_response(api_key, saved_query_path)
  client.process_response(response.code.to_i, response.body)
end