tableau_server_client 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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