tableau_server_client 0.0.6 → 0.0.7

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: 2b8a666b653ed10385210a2d5fafd96e14c80f0442841f998c30bd5d379cb671
4
- data.tar.gz: f35e189ebd0f4e4b35022ce3f1ba9f2d17c6504320a2b24eed0d39737f78c407
3
+ metadata.gz: 886e88eedf330cdb09d92a5fe2bd7e1452c19c9e413fb5767098376c17d03608
4
+ data.tar.gz: 5884c44fc430ff3ac02fa6d94e3f5a4edc426de9597281f019694a5fb2a76ace
5
5
  SHA512:
6
- metadata.gz: 66c31722e7302062da98b6d655b493b268b2ab3a33c7be6edef9d6e814eaa62ef639b2b4b8902661147103466cf2cd6acd766ba02f6d665c0c498717a6f4751e
7
- data.tar.gz: f8c22234d123f2d1cb5f8e1dbe9d94dd66ac93fdc8e5768f9f2cbd0b0df5dcb517d9309ab2a402e465b6ac1031afca4ca61b16a5cfaa2ca2d5dd30592460d88f
6
+ metadata.gz: 32050b19c3d0ef603e5476f879070cf3c14cdefc522beb4a4367fb33272e79c62a1a12cc65e2799a53aa6035f8c9e3ea5cd43eac3dc59c5f4db38beee53d13cb
7
+ data.tar.gz: a682c5b349b0ff0a36e15535b2da7fc52a77ba2275a2c58ee0cd8d820b3a2b1f389223ed6eb446b421234c4111f4c25f2f2e6ea8ca96623a2b18ba750afbd624
@@ -46,9 +46,6 @@ module TableauServerClient
46
46
  def create(resource)
47
47
  end
48
48
 
49
- def delete(resource)
50
- end
51
-
52
49
  def update(resource)
53
50
  session.put do |req|
54
51
  req.url request_url(resource.path).to_s
@@ -56,6 +53,10 @@ module TableauServerClient
56
53
  end
57
54
  end
58
55
 
56
+ def delete(resource)
57
+ session.delete request_url(resource.path).to_s
58
+ end
59
+
59
60
  def session
60
61
  faraday.headers['X-Tableau-Auth'] = token.to_s
61
62
  faraday
@@ -53,6 +53,10 @@ module TableauServerClient
53
53
  self.class.extract_site_path(path)
54
54
  end
55
55
 
56
+ def delete!
57
+ @client.delete self
58
+ end
59
+
56
60
  class Location
57
61
 
58
62
  def initialize(klass, path, filter)
@@ -2,6 +2,7 @@ require 'tableau_server_client/resources/resource'
2
2
  require 'tableau_server_client/resources/datasource'
3
3
  require 'tableau_server_client/resources/workbook'
4
4
  require 'tableau_server_client/resources/user'
5
+ require 'tableau_server_client/resources/subscription'
5
6
 
6
7
  module TableauServerClient
7
8
  module Resources
@@ -54,6 +55,14 @@ module TableauServerClient
54
55
  projects.find { |p| p.id == id }
55
56
  end
56
57
 
58
+ def subscriptions
59
+ @client.get_collection Subscription.location(path)
60
+ end
61
+
62
+ def subscription(id)
63
+ subscriptions.find {|s| s.id = id }
64
+ end
65
+
57
66
  end
58
67
  end
59
68
  end
@@ -0,0 +1,39 @@
1
+ require 'tableau_server_client/resources/resource'
2
+
3
+ module TableauServerClient
4
+ module Resources
5
+
6
+ class Subscription < Resource
7
+
8
+ attr_reader :id, :subject
9
+
10
+ def self.from_response(client, path, xml)
11
+ attrs = extract_attributes(xml)
12
+ attrs['content_id'] = xml.xpath("xmlns:content")[0]['id']
13
+ attrs['schedule_id'] = xml.xpath("xmlns:schedule")[0]['id']
14
+ attrs['user_id'] = xml.xpath("xmlns:user")[0]['id']
15
+ new(client, path, attrs)
16
+ end
17
+
18
+ def self.from_collection_response(client, path, xml)
19
+ xml.xpath("//xmlns:subscriptions/xmlns:subscription").each do |s|
20
+ id = s['id']
21
+ yield from_response(client, "#{path}/#{id}", s)
22
+ end
23
+ end
24
+
25
+ def content
26
+ raise NotImplementedError
27
+ end
28
+
29
+ def schedule
30
+ @schedule ||= @client.get_collection(Schedule.location(nil)).find {|s| s.id == @schedule_id }
31
+ end
32
+
33
+ def user
34
+ @user ||= @client.get User.location(site_path, @user_id)
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -1,3 +1,3 @@
1
1
  module TableauServerClient
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
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.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - shimpeko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-26 00:00:00.000000000 Z
11
+ date: 2018-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -132,6 +132,7 @@ files:
132
132
  - lib/tableau_server_client/resources/resource.rb
133
133
  - lib/tableau_server_client/resources/schedule.rb
134
134
  - lib/tableau_server_client/resources/site.rb
135
+ - lib/tableau_server_client/resources/subscription.rb
135
136
  - lib/tableau_server_client/resources/user.rb
136
137
  - lib/tableau_server_client/resources/workbook.rb
137
138
  - lib/tableau_server_client/server.rb