tableau_server_client 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7e98729c6fc455003c9f478a0156a647484c1fe5de1598cea8310ff74d458e4
4
- data.tar.gz: 6972d7428b5daa841db35d8bf586479d1700deeafb18fab46fe086637680a53d
3
+ metadata.gz: b1558ccb1a6e4e24c51290e44d1731769cbd4097ba15f7234b109182ad9104e8
4
+ data.tar.gz: 7d64b81492f87d2f180cf7ca0e744dda911af13b9aa3e7646a7f8ccbf9c51b2a
5
5
  SHA512:
6
- metadata.gz: 8a607ff48e5158ac2a9a221a9f34c016f357fb459e40ab5a99384fd0ef7357ed34642720e815c367deb513e184764c633b5f468630d5ba19ac40ef2732b9c458
7
- data.tar.gz: a88351042ba9d7fae2fabbb4f59c09f5300af75aa709f6775edff607800ac228d4a271c164001012578a1507dd130d068c5079b6f1fcf4749a85f93264a16ec3
6
+ metadata.gz: 47b55e561f1b3a4d4d793c902fe4ed68812371abc8d0a787db0601d49875b788ca46ac352e53852d7a7a6ed9807e8c84ffdee5c82c0d32f3371bc27ae7e2e9de
7
+ data.tar.gz: a975ceace9239d04b36eb5c392b34ae1a8b6df969f1c564b58feb9d5a500ae83691aa09fc88d6813552f3c5bc4447c08a261d8a2fcedb78b1b197765362a97e7
@@ -75,15 +75,18 @@ module TableauServerClient
75
75
  return response.body
76
76
  end
77
77
 
78
- def update(resource)
78
+ def update(resource, path: nil, request: nil)
79
+ path = path || resource.path
80
+ request = request || resource.to_request
79
81
  session.put do |req|
80
- req.url request_url(resource.path).to_s
81
- req.body = resource.to_request
82
+ req.url request_url(path).to_s
83
+ req.body = request
82
84
  end
83
85
  end
84
86
 
85
- def delete(resource)
86
- session.delete request_url(resource.path).to_s
87
+ def delete(resource, path: nil)
88
+ path = path || resource.path
89
+ session.delete request_url(path).to_s
87
90
  end
88
91
 
89
92
  def session
@@ -58,6 +58,10 @@ module TableauServerClient
58
58
  Job.from_response(@client, Job.location(site_path, id = job_id).path, resp)
59
59
  end
60
60
 
61
+ def delete!
62
+ resp = @client.delete(self)
63
+ end
64
+
61
65
  end
62
66
  end
63
67
  end
@@ -11,13 +11,14 @@ module TableauServerClient
11
11
  class Workbook < Resource
12
12
  include Downloadable
13
13
 
14
- attr_reader :id, :name, :webpage_url, :content_url, :show_tabs, :size, :created_at, :updated_at, :project_id, :owner_id
14
+ attr_reader :id, :name, :webpage_url, :content_url, :show_tabs, :size, :created_at, :updated_at, :project_id, :owner_id, :tags
15
15
  attr_writer :owner
16
16
 
17
17
  def self.from_response(client, path, xml)
18
18
  attrs = extract_attributes(xml)
19
19
  attrs['project_id'] = xml.xpath("xmlns:project")[0]['id']
20
- attrs['owner_id'] = xml.xpath("xmlns:owner")[0]['id']
20
+ attrs['owner_id'] = xml.xpath("xmlns:owner")[0]['id']
21
+ attrs['tags'] = xml.xpath("xmlns:tags/xmlns:tag").map {|t| t['label'] }
21
22
  new(client, path, attrs)
22
23
  end
23
24
 
@@ -57,6 +58,21 @@ module TableauServerClient
57
58
  @client.update self
58
59
  end
59
60
 
61
+ def add_tags!(tags)
62
+ request = build_request {|b|
63
+ b.tags {
64
+ tags.each do |t|
65
+ b.tag(label: t)
66
+ end
67
+ }
68
+ }
69
+ resp = @client.update(self, path: "#{path}/tags", request: request)
70
+ end
71
+
72
+ def delete_tag!(tag)
73
+ @client.delete(self, path: "#{path}/tags/#{tag}")
74
+ end
75
+
60
76
  def embedded_datasources
61
77
  download.xpath('//datasources//datasource').map do |ds|
62
78
  Datasource::DatasourceContent.new(ds)
@@ -1,3 +1,3 @@
1
1
  module TableauServerClient
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = ["console"]
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.13"
25
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "bundler", "~> 2.1"
25
+ spec.add_development_dependency "rake", "~> 12.3.3"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
27
  spec.add_development_dependency "byebug"
28
28
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tableau_server_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - shimpeko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-21 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.13'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.13'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: 12.3.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: 12.3.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -177,8 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
179
  requirements: []
180
- rubyforge_project:
181
- rubygems_version: 2.7.7
180
+ rubygems_version: 3.0.3
182
181
  signing_key:
183
182
  specification_version: 4
184
183
  summary: Tableau Server REST API Client