twb 5.2.5 → 5.2.6
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 +4 -4
- data/bin/twb.rb +1 -0
- data/lib/twb.rb +1 -1
- data/lib/twb/{twbtest.rb → TwbTest.rb} +0 -0
- data/lib/twb/analysis/{annotatedfieldscsvemitter.rb → AnnotatedFieldsCSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{calculatedfields/csvemitter.rb → CalculatedFields/CSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{calculatedfields/calculatedfieldsanalyzer.rb → CalculatedFields/CalculatedFieldsAnalyzer.rb} +0 -0
- data/lib/twb/analysis/{calculatedfields/markdownemitter.rb → CalculatedFields/MarkdownEmitter.rb} +0 -0
- data/lib/twb/analysis/{calculatedfields → CalculatedFields}/dotanalyzer.rb +0 -0
- data/lib/twb/analysis/{calculatedfields → CalculatedFields}/fieldsaliasesanalyzer.rb +0 -0
- data/lib/twb/analysis/{calculatedfields → CalculatedFields}/groupfieldsanalyzer.rb +0 -0
- data/lib/twb/analysis/{calculatedfields → CalculatedFields}/t.rb +0 -0
- data/lib/twb/analysis/{datasources/datasourcefieldscsvemitter.rb → DataSources/DataSourceFieldsCSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{datasources/datasourcetablefieldscsvemitter.rb → DataSources/DataSourceTableFieldsCSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/categoricalcolorcodinganalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourcefieldsanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourcefilesanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourceoriginsanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourcesenumerator.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourceslocationsanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/datasourcetablefieldsanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/extractsanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/fieldsaliasesanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/googlesheetdatasourcesanalyzer.rb +0 -0
- data/lib/twb/analysis/{datasources → DataSources}/parametersanalyzer.rb +0 -0
- data/lib/twb/analysis/{documentedfieldscsvemitter.rb → DocumentedFieldsCSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{documentedfieldsmarkdownemitter.rb → DocumentedFieldsMarkdownEmitter.rb} +0 -0
- data/lib/twb/analysis/{sheets/worksheetdatastructurecsvemitter.rb → Sheets/WorksheetDataStructureCSVEmitter.rb} +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/analyzedashboardsheets.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/dashboardsummarizer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/dashsheetsanalyzer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/sheetfieldsanalyzer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/sheetfiltersanalyzer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/sheetfiltersanalyzera.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/sheetsintooltipanalyzer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/sheetsourcesanalyzer.rb +0 -0
- data/lib/twb/analysis/{sheets → Sheets}/worksheetsummarizer.rb +0 -0
- data/lib/twb/columnfield.rb +64 -23
- data/lib/twb/countNodes.rb +98 -0
- data/lib/twb/datasource.rb +16 -4
- data/lib/twb/{finddsfields.rb → findDSFields.rb} +0 -0
- data/lib/twb/{identifyfields.rb → identifyFields.rb} +0 -0
- data/lib/twb/util/{dotfilerenderer.rb → dotFileRenderer.rb} +0 -0
- data/lib/twb/util/{ftppublisher.rb → ftpPublisher.rb} +0 -0
- data/lib/twb/util/{joinutilities.rb → joinUtilities.rb} +0 -0
- data/lib/twb/util/{twbdashsheetdatadotbuilder.rb → twbDashSheetDataDotBuilder.rb} +0 -0
- data/lib/twb/util/{twbdashsheetdatadotrenderer.rb → twbDashSheetDataDotRenderer.rb} +0 -0
- data/lib/twb/util/{twbdashessheetdatadotbuilder.rb → twbDashesSheetDataDotBuilder.rb} +0 -0
- metadata +53 -52
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ccd5e3f60908b3588d6e16b24932760d10c7f529cee28c5b8c57cc6b536536e1
|
|
4
|
+
data.tar.gz: f11f10dacb407baa8ccad990d6ed1095970603f6863ceab276a85afd69b555ee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 690986db75b5487436bc403e941cf9a5ba76e1cd30a067ed7ac9e19bfeef5abd2824373748263a4129af423039e2d0bb1e30fd505c2b98c23830b6ef0fa830a9
|
|
7
|
+
data.tar.gz: 797b79b25e06eddf021e66c81ad0393bee4c8adf417867b720884a9cde512affe0f0319dd145b534e591b8fec9f4dd4b82453dd377ce65268d36fc8a8ce70f10
|
data/bin/twb.rb
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
puts "\n TWB gem here. \n"
|
data/lib/twb.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/twb/analysis/{calculatedfields/markdownemitter.rb → CalculatedFields/MarkdownEmitter.rb}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/twb/analysis/{documentedfieldsmarkdownemitter.rb → DocumentedFieldsMarkdownEmitter.rb}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/twb/columnfield.rb
CHANGED
|
@@ -75,22 +75,24 @@ module Twb
|
|
|
75
75
|
@name = load('name').sub(/^\[/,'').sub(/\]$/,'')
|
|
76
76
|
@caption = load 'caption'
|
|
77
77
|
@uiname = @caption.nil? ? @name : @caption
|
|
78
|
-
|
|
79
|
-
@
|
|
80
|
-
@
|
|
81
|
-
@
|
|
82
|
-
@
|
|
83
|
-
@
|
|
84
|
-
@
|
|
85
|
-
@
|
|
86
|
-
@
|
|
87
|
-
@
|
|
88
|
-
@
|
|
78
|
+
#--
|
|
79
|
+
loadAttributes @node
|
|
80
|
+
# @dataType = load 'datatype'
|
|
81
|
+
# @userDataType = load 'user-datatype'
|
|
82
|
+
# @defaultFormat = load 'default-format'
|
|
83
|
+
# @paramDomainType = load 'param-domain-type'
|
|
84
|
+
# @type = load 'type'
|
|
85
|
+
# @value = load 'value'
|
|
86
|
+
# @alias = load 'alias'
|
|
87
|
+
# @semanticRole = load 'semantic-role'
|
|
88
|
+
# @aggregation = load 'aggregation'
|
|
89
|
+
# @autoColumn = load 'auto-column'
|
|
90
|
+
# @datatypeCustomized = load 'datatype-customized'
|
|
89
91
|
end
|
|
90
92
|
|
|
91
93
|
def id
|
|
92
94
|
@id ||= @id = @name.hash
|
|
93
|
-
end
|
|
95
|
+
end
|
|
94
96
|
|
|
95
97
|
def load nodeName
|
|
96
98
|
attr = @node.attribute(nodeName)
|
|
@@ -98,17 +100,56 @@ module Twb
|
|
|
98
100
|
return val
|
|
99
101
|
end
|
|
100
102
|
|
|
101
|
-
def
|
|
102
|
-
|
|
103
|
+
def loadAttributes node
|
|
104
|
+
# puts "augmenting with node:#{node}"
|
|
105
|
+
@node = node
|
|
106
|
+
if node.has_attribute?('aggregation') then @aggregation = node['aggregation'] end
|
|
107
|
+
if node.has_attribute?('alias') then @alias = node['alias'] end
|
|
108
|
+
if node.has_attribute?('auto-column') then @autoColumn = node['auto-column'] end
|
|
109
|
+
if node.has_attribute?('datatype') then @dataType = node['datatype'] end
|
|
110
|
+
if node.has_attribute?('datatype-customized') then @datatypeCustomized = node['datatype-customized'] end
|
|
111
|
+
if node.has_attribute?('default-format') then @defaultFormat = node['default-format'] end
|
|
112
|
+
if node.has_attribute?('param-domain-type') then @paramDomainType = node['param-domain-type'] end
|
|
113
|
+
if node.has_attribute?('role') then @role = node['role'] end
|
|
114
|
+
if node.has_attribute?('semantic-role') then @semanticRole = node['semantic-role'] end
|
|
115
|
+
if node.has_attribute?('type') then @type = node['type'] end
|
|
116
|
+
if node.has_attribute?('user-datatype') then @userDataType = node['user-datatype'] end
|
|
117
|
+
if node.has_attribute?('value') then @value = node['value'] end
|
|
118
|
+
# loadAttr @aggregation, 'aggregation'
|
|
119
|
+
# loadAttr @alias, 'alias'
|
|
120
|
+
# loadAttr @autoColumn, 'auto-column'
|
|
121
|
+
# loadAttr @dataType, 'datatype'
|
|
122
|
+
# loadAttr @datatypeCustomized, 'datatype-customized'
|
|
123
|
+
# loadAttr @defaultFormat, 'default-format'
|
|
124
|
+
# loadAttr @paramDomainType, 'param-domain-type'
|
|
125
|
+
# loadAttr @role, 'role'
|
|
126
|
+
# loadAttr @semanticRole, 'semantic-role'
|
|
127
|
+
# loadAttr @type, 'type'
|
|
128
|
+
# loadAttr @userDataType, 'user-datatype'
|
|
129
|
+
# loadAttr @value, 'value'
|
|
103
130
|
end
|
|
104
131
|
|
|
105
|
-
def
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
132
|
+
# def loadAttr property, attribute
|
|
133
|
+
# # puts " - def loadAttr attr:#{attribute}: prop:#{property}:"
|
|
134
|
+
# if @node.has_attribute? attribute
|
|
135
|
+
# # puts " - has"
|
|
136
|
+
# property = @node[attribute]
|
|
137
|
+
# # else
|
|
138
|
+
# # puts " - has not"
|
|
139
|
+
# # end
|
|
140
|
+
# end
|
|
141
|
+
|
|
142
|
+
# def role
|
|
143
|
+
# @role ||= loadRole
|
|
144
|
+
# end
|
|
145
|
+
|
|
146
|
+
# def loadRole
|
|
147
|
+
# role = @node['role']
|
|
148
|
+
# if role.nil?
|
|
149
|
+
# role = @@dataTypeRoleMap[@dataType].nil? ? @dataType : @@dataTypeRoleMap[@dataType]
|
|
150
|
+
# end
|
|
151
|
+
# return role
|
|
152
|
+
# end
|
|
112
153
|
|
|
113
154
|
def calcField
|
|
114
155
|
@calcField ||= loadCalcField
|
|
@@ -211,7 +252,7 @@ module Twb
|
|
|
211
252
|
end
|
|
212
253
|
|
|
213
254
|
def loadProperties
|
|
214
|
-
@properties= {}
|
|
255
|
+
@properties = {} if @properties.nil?
|
|
215
256
|
@node.attributes.each do |name,attr|
|
|
216
257
|
@properties[name] = attr.value
|
|
217
258
|
end
|
|
@@ -220,7 +261,7 @@ module Twb
|
|
|
220
261
|
end
|
|
221
262
|
|
|
222
263
|
def to_s
|
|
223
|
-
@name
|
|
264
|
+
"n:#{@name}: uin:#{uiname}: "
|
|
224
265
|
end
|
|
225
266
|
|
|
226
267
|
def <=>(other)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
require 'nokogiri'
|
|
2
|
+
require 'csv'
|
|
3
|
+
require 'twb'
|
|
4
|
+
|
|
5
|
+
def init
|
|
6
|
+
system 'cls'
|
|
7
|
+
$pFile = File.open('sqlFromTwbDc.txt','w')
|
|
8
|
+
|
|
9
|
+
sqiCSV = 'TWBFieldsByType.csv'
|
|
10
|
+
$fieldsCSV = CSV.open(sqiCSV, 'w')
|
|
11
|
+
$fieldsCSV << [
|
|
12
|
+
'TWB',
|
|
13
|
+
'Data Connection - UI',
|
|
14
|
+
'Field Name',
|
|
15
|
+
'Field Type',
|
|
16
|
+
]
|
|
17
|
+
$path = if ARGV.empty? then '**/*.twb' else ARGV[0] end
|
|
18
|
+
emit " "
|
|
19
|
+
emit " Generating SQL Create Table code for Tableau Workbook Data Connections (TWDCs)."
|
|
20
|
+
emit " Each TWDC will have it's own *.sql file containing the SQL code.\n "
|
|
21
|
+
emit " Looking for Workbooks matching: '#{$path}' - from: #{ARGV[0]}\n\n "
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def method_name
|
|
25
|
+
datasources = {}
|
|
26
|
+
dataSourcesNode = doc.at_xpath('//workbook/datasources')
|
|
27
|
+
dataSourcesNodes = doc.xpath('//workbook/datasources/datasource').to_a
|
|
28
|
+
puts " dsn: #{dataSourcesNodes}"
|
|
29
|
+
datasourceNodes.each do |node|
|
|
30
|
+
datasource = Twb::DataSource.new(node)
|
|
31
|
+
datasources[datasource.name] = datasource
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
$localEmit = true
|
|
36
|
+
def emit stuff
|
|
37
|
+
$pFile.puts stuff
|
|
38
|
+
puts stuff if $localEmit
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
$paths = {
|
|
42
|
+
'Relation Columns' => './connection/relation/columns/column',
|
|
43
|
+
'Metadata Records' => './connection/metadata-records/metadata-record',
|
|
44
|
+
'Columns' => './column',
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
def proc file
|
|
48
|
+
emit "\n == #{file}"
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def process file
|
|
52
|
+
emit "\n == #{file}"
|
|
53
|
+
doc = Nokogiri::XML(open(file))
|
|
54
|
+
dataSourcesNodes = doc.xpath('//workbook/datasources/datasource')
|
|
55
|
+
dataSourcesNodes.each do |ds|
|
|
56
|
+
emit "\n dc: #{ds.attribute('caption')}"
|
|
57
|
+
emit " dn: #{ds.attribute('name')}\n ---"
|
|
58
|
+
typeCounts = {}
|
|
59
|
+
$paths.each do |type, path|
|
|
60
|
+
nodes = ds.xpath(path).to_a
|
|
61
|
+
# emit " : %3i %-17s %-s" % [nodes.size, type, path]
|
|
62
|
+
typeCnt = nodes.size
|
|
63
|
+
nodes.each do |n|
|
|
64
|
+
$fieldsCSV << [file,ds.attribute('name'),n.attribute('name'),type]
|
|
65
|
+
end
|
|
66
|
+
if type == 'Columns' then
|
|
67
|
+
calcCnt = 0
|
|
68
|
+
nodes.each do |n|
|
|
69
|
+
calc = n.xpath('./calculation')
|
|
70
|
+
# emit " c: #{calc.size} "
|
|
71
|
+
calcCnt += calc.size
|
|
72
|
+
end
|
|
73
|
+
# emit ' ---'
|
|
74
|
+
# emit " c#: %3i " % [calcCnt]
|
|
75
|
+
# emit " !c#: %3i " % [nodes.size - calcCnt]
|
|
76
|
+
typeCounts['Columns'] = nodes.size
|
|
77
|
+
typeCounts['Columns - calc'] = calcCnt
|
|
78
|
+
typeCounts['Columns - not calc'] = nodes.size - calcCnt
|
|
79
|
+
else
|
|
80
|
+
typeCounts[type] = typeCnt
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
# emit ' ---'
|
|
84
|
+
typeCounts.each do |t,c|
|
|
85
|
+
emit " tc: %3i %-s" % [c, t]
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
init
|
|
91
|
+
|
|
92
|
+
$paths.each do |path|
|
|
93
|
+
emit " p: #{path}"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
Dir.glob($path) {|twb| process twb }
|
|
97
|
+
|
|
98
|
+
emit "\n\n== Done ==\n "
|
data/lib/twb/datasource.rb
CHANGED
|
@@ -255,11 +255,23 @@ module Twb
|
|
|
255
255
|
@columnFieldsMap = {}
|
|
256
256
|
nodes = @node.xpath('.//column')
|
|
257
257
|
nodes.each do |n|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
@columnFieldsMap
|
|
258
|
+
# puts " "
|
|
259
|
+
# puts @columnFieldsMap.keys.inspect
|
|
260
|
+
name = n.attribute('name').text.sub(/^\[/,'').sub(/\]$/,'')
|
|
261
|
+
loaded = @columnFieldsMap.has_key? name
|
|
262
|
+
if loaded
|
|
263
|
+
# puts "LOADED"
|
|
264
|
+
field = @columnFieldsMap[name]
|
|
265
|
+
# puts "#{field.class}"
|
|
266
|
+
field.loadAttributes(n)
|
|
267
|
+
else
|
|
268
|
+
field = Twb::ColumnField.new n, self
|
|
269
|
+
@columnFieldsMap[field.uiname] = field
|
|
270
|
+
@columnFieldsMap[field.name] = field
|
|
271
|
+
end
|
|
272
|
+
# puts "name:#{name}: \t nn:#{field.name}:\t loaded?:#{loaded} node:#{n}:"
|
|
262
273
|
end
|
|
274
|
+
@columnFields = @columnFieldsMap.values
|
|
263
275
|
return @columnFields
|
|
264
276
|
end
|
|
265
277
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: twb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.2.
|
|
4
|
+
version: 5.2.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Gerrard
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-04-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: creek
|
|
@@ -34,22 +34,22 @@ dependencies:
|
|
|
34
34
|
name: kramdown
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.17'
|
|
40
37
|
- - ">="
|
|
41
38
|
- !ruby/object:Gem::Version
|
|
42
39
|
version: 1.17.0
|
|
40
|
+
- - "~>"
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: '1.17'
|
|
43
43
|
type: :runtime
|
|
44
44
|
prerelease: false
|
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
46
|
requirements:
|
|
47
|
-
- - "~>"
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '1.17'
|
|
50
47
|
- - ">="
|
|
51
48
|
- !ruby/object:Gem::Version
|
|
52
49
|
version: 1.17.0
|
|
50
|
+
- - "~>"
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '1.17'
|
|
53
53
|
description: A sollection of Ruby classes designed for accessing and recording information
|
|
54
54
|
about, and for manipulating, Tableau Workbooks and their contents.
|
|
55
55
|
email: Chris@Gerrard.net
|
|
@@ -57,48 +57,51 @@ executables: []
|
|
|
57
57
|
extensions: []
|
|
58
58
|
extra_rdoc_files: []
|
|
59
59
|
files:
|
|
60
|
+
- bin/twb.rb
|
|
60
61
|
- lib/t.rb
|
|
61
62
|
- lib/tfl/Flow.rb
|
|
62
63
|
- lib/twb.rb
|
|
64
|
+
- lib/twb/TwbTest.rb
|
|
63
65
|
- lib/twb/action.rb
|
|
64
|
-
- lib/twb/analysis/
|
|
65
|
-
- lib/twb/analysis/
|
|
66
|
-
- lib/twb/analysis/
|
|
67
|
-
- lib/twb/analysis/
|
|
68
|
-
- lib/twb/analysis/
|
|
69
|
-
- lib/twb/analysis/
|
|
70
|
-
- lib/twb/analysis/
|
|
71
|
-
- lib/twb/analysis/
|
|
72
|
-
- lib/twb/analysis/
|
|
73
|
-
- lib/twb/analysis/
|
|
74
|
-
- lib/twb/analysis/
|
|
75
|
-
- lib/twb/analysis/
|
|
76
|
-
- lib/twb/analysis/
|
|
77
|
-
- lib/twb/analysis/
|
|
78
|
-
- lib/twb/analysis/
|
|
79
|
-
- lib/twb/analysis/
|
|
80
|
-
- lib/twb/analysis/
|
|
81
|
-
- lib/twb/analysis/
|
|
82
|
-
- lib/twb/analysis/
|
|
83
|
-
- lib/twb/analysis/
|
|
84
|
-
- lib/twb/analysis/
|
|
85
|
-
- lib/twb/analysis/
|
|
86
|
-
- lib/twb/analysis/
|
|
87
|
-
- lib/twb/analysis/
|
|
88
|
-
- lib/twb/analysis/
|
|
89
|
-
- lib/twb/analysis/
|
|
90
|
-
- lib/twb/analysis/
|
|
91
|
-
- lib/twb/analysis/
|
|
92
|
-
- lib/twb/analysis/
|
|
93
|
-
- lib/twb/analysis/
|
|
94
|
-
- lib/twb/analysis/
|
|
95
|
-
- lib/twb/analysis/
|
|
96
|
-
- lib/twb/analysis/
|
|
66
|
+
- lib/twb/analysis/AnnotatedFieldsCSVEmitter.rb
|
|
67
|
+
- lib/twb/analysis/CalculatedFields/CSVEmitter.rb
|
|
68
|
+
- lib/twb/analysis/CalculatedFields/CalculatedFieldsAnalyzer.rb
|
|
69
|
+
- lib/twb/analysis/CalculatedFields/MarkdownEmitter.rb
|
|
70
|
+
- lib/twb/analysis/CalculatedFields/dotanalyzer.rb
|
|
71
|
+
- lib/twb/analysis/CalculatedFields/fieldsaliasesanalyzer.rb
|
|
72
|
+
- lib/twb/analysis/CalculatedFields/groupfieldsanalyzer.rb
|
|
73
|
+
- lib/twb/analysis/CalculatedFields/t.rb
|
|
74
|
+
- lib/twb/analysis/DataSources/DataSourceFieldsCSVEmitter.rb
|
|
75
|
+
- lib/twb/analysis/DataSources/DataSourceTableFieldsCSVEmitter.rb
|
|
76
|
+
- lib/twb/analysis/DataSources/categoricalcolorcodinganalyzer.rb
|
|
77
|
+
- lib/twb/analysis/DataSources/datasourcefieldsanalyzer.rb
|
|
78
|
+
- lib/twb/analysis/DataSources/datasourcefilesanalyzer.rb
|
|
79
|
+
- lib/twb/analysis/DataSources/datasourceoriginsanalyzer.rb
|
|
80
|
+
- lib/twb/analysis/DataSources/datasourcesenumerator.rb
|
|
81
|
+
- lib/twb/analysis/DataSources/datasourceslocationsanalyzer.rb
|
|
82
|
+
- lib/twb/analysis/DataSources/datasourcetablefieldsanalyzer.rb
|
|
83
|
+
- lib/twb/analysis/DataSources/extractsanalyzer.rb
|
|
84
|
+
- lib/twb/analysis/DataSources/fieldsaliasesanalyzer.rb
|
|
85
|
+
- lib/twb/analysis/DataSources/googlesheetdatasourcesanalyzer.rb
|
|
86
|
+
- lib/twb/analysis/DataSources/parametersanalyzer.rb
|
|
87
|
+
- lib/twb/analysis/DocumentedFieldsCSVEmitter.rb
|
|
88
|
+
- lib/twb/analysis/DocumentedFieldsMarkdownEmitter.rb
|
|
89
|
+
- lib/twb/analysis/Sheets/WorksheetDataStructureCSVEmitter.rb
|
|
90
|
+
- lib/twb/analysis/Sheets/analyzedashboardsheets.rb
|
|
91
|
+
- lib/twb/analysis/Sheets/dashboardsummarizer.rb
|
|
92
|
+
- lib/twb/analysis/Sheets/dashsheetsanalyzer.rb
|
|
93
|
+
- lib/twb/analysis/Sheets/sheetfieldsanalyzer.rb
|
|
94
|
+
- lib/twb/analysis/Sheets/sheetfiltersanalyzer.rb
|
|
95
|
+
- lib/twb/analysis/Sheets/sheetfiltersanalyzera.rb
|
|
96
|
+
- lib/twb/analysis/Sheets/sheetsintooltipanalyzer.rb
|
|
97
|
+
- lib/twb/analysis/Sheets/sheetsourcesanalyzer.rb
|
|
98
|
+
- lib/twb/analysis/Sheets/worksheetsummarizer.rb
|
|
97
99
|
- lib/twb/analysis/workbooksummaryanalyzer.rb
|
|
98
100
|
- lib/twb/calculatedfield.rb
|
|
99
101
|
- lib/twb/codedfield.rb
|
|
100
102
|
- lib/twb/columnfield.rb
|
|
101
103
|
- lib/twb/connection.rb
|
|
104
|
+
- lib/twb/countNodes.rb
|
|
102
105
|
- lib/twb/dashboard.rb
|
|
103
106
|
- lib/twb/datasource.rb
|
|
104
107
|
- lib/twb/dbfield.rb
|
|
@@ -107,14 +110,14 @@ files:
|
|
|
107
110
|
- lib/twb/docdashboardwebvert.rb
|
|
108
111
|
- lib/twb/field.rb
|
|
109
112
|
- lib/twb/fieldcalculation.rb
|
|
110
|
-
- lib/twb/
|
|
113
|
+
- lib/twb/findDSFields.rb
|
|
111
114
|
- lib/twb/graph.rb
|
|
112
115
|
- lib/twb/graphedges.rb
|
|
113
116
|
- lib/twb/graphnode.rb
|
|
114
117
|
- lib/twb/groupfield.rb
|
|
115
118
|
- lib/twb/hashtohtml.rb
|
|
116
119
|
- lib/twb/htmllistcollapsible.rb
|
|
117
|
-
- lib/twb/
|
|
120
|
+
- lib/twb/identifyFields.rb
|
|
118
121
|
- lib/twb/listXMLNodePathsAndAttributes.rb
|
|
119
122
|
- lib/twb/localfield.rb
|
|
120
123
|
- lib/twb/mappedfield.rb
|
|
@@ -127,15 +130,14 @@ files:
|
|
|
127
130
|
- lib/twb/tabtool.rb
|
|
128
131
|
- lib/twb/there.rb
|
|
129
132
|
- lib/twb/twbcodedfield.rb
|
|
130
|
-
- lib/twb/twbtest.rb
|
|
131
133
|
- lib/twb/util/atomizecsvrecords.rb
|
|
132
134
|
- lib/twb/util/csvrecordsatomizer.rb
|
|
133
135
|
- lib/twb/util/cypher.rb
|
|
134
136
|
- lib/twb/util/cypherpython.rb
|
|
135
137
|
- lib/twb/util/docprep.rb
|
|
136
|
-
- lib/twb/util/
|
|
138
|
+
- lib/twb/util/dotFileRenderer.rb
|
|
137
139
|
- lib/twb/util/fielddomainloader.rb
|
|
138
|
-
- lib/twb/util/
|
|
140
|
+
- lib/twb/util/ftpPublisher.rb
|
|
139
141
|
- lib/twb/util/gml.rb
|
|
140
142
|
- lib/twb/util/gmledge.rb
|
|
141
143
|
- lib/twb/util/graph.rb
|
|
@@ -144,11 +146,11 @@ files:
|
|
|
144
146
|
- lib/twb/util/graphnode.rb
|
|
145
147
|
- lib/twb/util/hashtohtml.rb
|
|
146
148
|
- lib/twb/util/htmllistcollapsible.rb
|
|
147
|
-
- lib/twb/util/
|
|
149
|
+
- lib/twb/util/joinUtilities.rb
|
|
148
150
|
- lib/twb/util/tabgraph.rb
|
|
149
|
-
- lib/twb/util/
|
|
150
|
-
- lib/twb/util/
|
|
151
|
-
- lib/twb/util/
|
|
151
|
+
- lib/twb/util/twbDashSheetDataDotBuilder.rb
|
|
152
|
+
- lib/twb/util/twbDashSheetDataDotRenderer.rb
|
|
153
|
+
- lib/twb/util/twbDashesSheetDataDotBuilder.rb
|
|
152
154
|
- lib/twb/util/xraydashboards.rb
|
|
153
155
|
- lib/twb/window.rb
|
|
154
156
|
- lib/twb/workbook.rb
|
|
@@ -188,8 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
188
190
|
- !ruby/object:Gem::Version
|
|
189
191
|
version: '0'
|
|
190
192
|
requirements: []
|
|
191
|
-
|
|
192
|
-
rubygems_version: 2.7.6
|
|
193
|
+
rubygems_version: 3.0.3
|
|
193
194
|
signing_key:
|
|
194
195
|
specification_version: 4
|
|
195
196
|
summary: Classes for accessing Tableau Workbooks and their contents.
|