Class: TableauApi::Resources::Sites

Inherits:
Base
  • Object
show all
Defined in:
lib/tableau_api/resources/sites.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from TableauApi::Resources::Base

Instance Method Details

#create(name:, content_url:, admin_mode: nil, num_users: nil, storage_quota: nil) ⇒ Object

Raises:



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/tableau_api/resources/sites.rb', line 8

def create(name:, content_url:, admin_mode: nil, num_users: nil, storage_quota: nil)
  # required parameters
  request_hash = {
    name: name,
    contentUrl: content_url
  }
  # optional parameters
  request_hash[:admin_mode] = admin_mode if admin_mode
  request_hash[:num_users] = num_users if num_users
  request_hash[:storage_quota] = storage_quota if storage_quota

  request = Builder::XmlMarkup.new.tsRequest do |ts|
    ts.site(request_hash)
  end

  res = @client.connection.api_post('sites', body: request)

  return res['tsResponse']['site'] if res.code == 201
  raise TableauError, res
end

#delete(site_id:) ⇒ Object

Raises:



29
30
31
32
33
# File 'lib/tableau_api/resources/sites.rb', line 29

def delete(site_id:)
  res = @client.connection.api_delete("sites/#{site_id}")
  return true if res.code == 204
  raise TableauError, res
end

#listObject



4
5
6
# File 'lib/tableau_api/resources/sites.rb', line 4

def list
  @client.connection.api_get_collection('sites', 'sites.site')
end