Class: Superset::Chart::Get

Inherits:
Request
  • Object
show all
Defined in:
lib/superset/chart/get.rb

Constant Summary

Constants inherited from Request

Request::DEFAULT_PAGE_SIZE

Instance Attribute Summary collapse

Attributes inherited from Request

#page_num, #page_size

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Request

#query_params, #response, #result, #superset_host

Methods included from Display

#ids, #list, #result, #rows, #table, #title, #to_h

Constructor Details

#initialize(id) ⇒ Get

Returns a new instance of Get.



7
8
9
# File 'lib/superset/chart/get.rb', line 7

def initialize(id)
  @id = id
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/superset/chart/get.rb', line 5

def id
  @id
end

Class Method Details

.call(id) ⇒ Object



11
12
13
# File 'lib/superset/chart/get.rb', line 11

def self.call(id)
  self.new(id).list
end

Instance Method Details

#datasource_idObject



20
21
22
23
24
25
26
# File 'lib/superset/chart/get.rb', line 20

def datasource_id
  if result['query_context'].present? && JSON.parse(result['query_context'])['datasource'].present?
    JSON.parse(result['query_context'])['datasource']['id']
  elsif result['params'].present? && JSON.parse(result['params'])['datasource'].present?
    JSON.parse(result['params'])['datasource'].match(/^\d+/)[0].to_i
  end
end

#owner_idsObject



28
29
30
# File 'lib/superset/chart/get.rb', line 28

def owner_ids
  result['owners'].map{|o| o['id']}
end

#paramsObject



32
33
34
# File 'lib/superset/chart/get.rb', line 32

def params
  JSON.parse(result['params']) if result['params'].present?
end

#performObject



15
16
17
18
# File 'lib/superset/chart/get.rb', line 15

def perform
  response
  self
end

#query_contextObject



36
37
38
# File 'lib/superset/chart/get.rb', line 36

def query_context
  JSON.parse(result['query_context']) if result['query_context'].present?
end