Module: TableauRestApi::WorkbookDatasource

Included in:
Resource
Defined in:
lib/tableau_rest_api/area/workbook_datasource.rb

Instance Method Summary collapse

Instance Method Details

#datasources(site_id) ⇒ Object



23
24
25
26
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 23

def datasources(site_id)
  url = build_url ['sites', site_id, 'datasources']
  (get url).datasources.datasource.to_a.map { |ds| Datasource.new(ds) }
end

#delete_datasource(site_id, datasource_id) ⇒ Object



63
64
65
66
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 63

def delete_datasource(site_id, datasource_id)
  url = build_url ['sites', site_id, 'datasources', datasource_id]
  delete url
end

#delete_project(site_id, project_id) ⇒ Object



68
69
70
71
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 68

def delete_project(site_id, project_id)
  url = build_url ['sites', site_id, 'projects', project_id]
  delete url
end

#delete_workbook(site_id, workbook_id) ⇒ Object



58
59
60
61
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 58

def delete_workbook(site_id, workbook_id)
  url = build_url ['sites', site_id, 'workbooks', workbook_id]
  delete url
end

#get_datasource(site_id, datasource_id) ⇒ Object



33
34
35
36
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 33

def get_datasource(site_id, datasource_id)
  url = build_url ['sites', site_id, 'datasources', datasource_id, 'content']
  RestClient.get url, header
end

#get_workbook(site_id, workbook_id) ⇒ Object



28
29
30
31
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 28

def get_workbook(site_id, workbook_id)
  url = build_url ['sites', site_id, 'workbooks', workbook_id, 'content']
  RestClient.get url, header
end

#publish_datasource(site_id, metadata, payload) ⇒ Object



80
81
82
83
84
85
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 80

def publish_datasource(site_id, , payload)
  url = build_url ['sites', site_id, 'datasources']
  boundary = SecureRandom.uuid
  request = Upload.new(, payload, boundary).build(:datasource)
  Datasource.new((post url, request, boundary).datasource)
end

#publish_workbook(site_id, metadata, payload) ⇒ Object



73
74
75
76
77
78
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 73

def publish_workbook(site_id, , payload)
  url = build_url ['sites', site_id, 'workbooks']
  boundary = SecureRandom.uuid
  request = Upload.new(, payload, boundary).build
  Workbook.new((post url, request, boundary).workbook)
end

#query_projects(site_id) ⇒ Object



53
54
55
56
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 53

def query_projects(site_id)
  url = build_url ['sites', site_id, 'projects']
  (get url).projects.project.to_a.map { |project| Project.new(project) }
end

#query_workbooks(site_id) ⇒ Object



18
19
20
21
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 18

def query_workbooks(site_id)
  url = build_url ['sites', site_id, 'workbooks']
  (get url).workbooks.workbook.to_a.map { |workbook| Workbook.new(workbook) }
end

#update_datasource(site_id, datasource_id, datasource) ⇒ Object



43
44
45
46
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 43

def update_datasource(site_id, datasource_id, datasource)
  url = build_url ['sites', site_id, 'datasources', datasource_id]
  Datasource.new((put url, datasource).datasource)
end

#update_project(site_id, project_id, project) ⇒ Object



48
49
50
51
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 48

def update_project(site_id, project_id, project)
  url = build_url ['sites', site_id, 'projects', project_id]
  Project.new((put url, project).project)
end

#update_workbook(site_id, workbook_id, workbook) ⇒ Object



38
39
40
41
# File 'lib/tableau_rest_api/area/workbook_datasource.rb', line 38

def update_workbook(site_id, workbook_id, workbook)
  url = build_url ['sites', site_id, 'workbooks', workbook_id]
  Workbook.new((put url, workbook).workbook)
end