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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twb.rb +1 -0
  3. data/lib/twb.rb +1 -1
  4. data/lib/twb/{twbtest.rb → TwbTest.rb} +0 -0
  5. data/lib/twb/analysis/{annotatedfieldscsvemitter.rb → AnnotatedFieldsCSVEmitter.rb} +0 -0
  6. data/lib/twb/analysis/{calculatedfields/csvemitter.rb → CalculatedFields/CSVEmitter.rb} +0 -0
  7. data/lib/twb/analysis/{calculatedfields/calculatedfieldsanalyzer.rb → CalculatedFields/CalculatedFieldsAnalyzer.rb} +0 -0
  8. data/lib/twb/analysis/{calculatedfields/markdownemitter.rb → CalculatedFields/MarkdownEmitter.rb} +0 -0
  9. data/lib/twb/analysis/{calculatedfields → CalculatedFields}/dotanalyzer.rb +0 -0
  10. data/lib/twb/analysis/{calculatedfields → CalculatedFields}/fieldsaliasesanalyzer.rb +0 -0
  11. data/lib/twb/analysis/{calculatedfields → CalculatedFields}/groupfieldsanalyzer.rb +0 -0
  12. data/lib/twb/analysis/{calculatedfields → CalculatedFields}/t.rb +0 -0
  13. data/lib/twb/analysis/{datasources/datasourcefieldscsvemitter.rb → DataSources/DataSourceFieldsCSVEmitter.rb} +0 -0
  14. data/lib/twb/analysis/{datasources/datasourcetablefieldscsvemitter.rb → DataSources/DataSourceTableFieldsCSVEmitter.rb} +0 -0
  15. data/lib/twb/analysis/{datasources → DataSources}/categoricalcolorcodinganalyzer.rb +0 -0
  16. data/lib/twb/analysis/{datasources → DataSources}/datasourcefieldsanalyzer.rb +0 -0
  17. data/lib/twb/analysis/{datasources → DataSources}/datasourcefilesanalyzer.rb +0 -0
  18. data/lib/twb/analysis/{datasources → DataSources}/datasourceoriginsanalyzer.rb +0 -0
  19. data/lib/twb/analysis/{datasources → DataSources}/datasourcesenumerator.rb +0 -0
  20. data/lib/twb/analysis/{datasources → DataSources}/datasourceslocationsanalyzer.rb +0 -0
  21. data/lib/twb/analysis/{datasources → DataSources}/datasourcetablefieldsanalyzer.rb +0 -0
  22. data/lib/twb/analysis/{datasources → DataSources}/extractsanalyzer.rb +0 -0
  23. data/lib/twb/analysis/{datasources → DataSources}/fieldsaliasesanalyzer.rb +0 -0
  24. data/lib/twb/analysis/{datasources → DataSources}/googlesheetdatasourcesanalyzer.rb +0 -0
  25. data/lib/twb/analysis/{datasources → DataSources}/parametersanalyzer.rb +0 -0
  26. data/lib/twb/analysis/{documentedfieldscsvemitter.rb → DocumentedFieldsCSVEmitter.rb} +0 -0
  27. data/lib/twb/analysis/{documentedfieldsmarkdownemitter.rb → DocumentedFieldsMarkdownEmitter.rb} +0 -0
  28. data/lib/twb/analysis/{sheets/worksheetdatastructurecsvemitter.rb → Sheets/WorksheetDataStructureCSVEmitter.rb} +0 -0
  29. data/lib/twb/analysis/{sheets → Sheets}/analyzedashboardsheets.rb +0 -0
  30. data/lib/twb/analysis/{sheets → Sheets}/dashboardsummarizer.rb +0 -0
  31. data/lib/twb/analysis/{sheets → Sheets}/dashsheetsanalyzer.rb +0 -0
  32. data/lib/twb/analysis/{sheets → Sheets}/sheetfieldsanalyzer.rb +0 -0
  33. data/lib/twb/analysis/{sheets → Sheets}/sheetfiltersanalyzer.rb +0 -0
  34. data/lib/twb/analysis/{sheets → Sheets}/sheetfiltersanalyzera.rb +0 -0
  35. data/lib/twb/analysis/{sheets → Sheets}/sheetsintooltipanalyzer.rb +0 -0
  36. data/lib/twb/analysis/{sheets → Sheets}/sheetsourcesanalyzer.rb +0 -0
  37. data/lib/twb/analysis/{sheets → Sheets}/worksheetsummarizer.rb +0 -0
  38. data/lib/twb/columnfield.rb +64 -23
  39. data/lib/twb/countNodes.rb +98 -0
  40. data/lib/twb/datasource.rb +16 -4
  41. data/lib/twb/{finddsfields.rb → findDSFields.rb} +0 -0
  42. data/lib/twb/{identifyfields.rb → identifyFields.rb} +0 -0
  43. data/lib/twb/util/{dotfilerenderer.rb → dotFileRenderer.rb} +0 -0
  44. data/lib/twb/util/{ftppublisher.rb → ftpPublisher.rb} +0 -0
  45. data/lib/twb/util/{joinutilities.rb → joinUtilities.rb} +0 -0
  46. data/lib/twb/util/{twbdashsheetdatadotbuilder.rb → twbDashSheetDataDotBuilder.rb} +0 -0
  47. data/lib/twb/util/{twbdashsheetdatadotrenderer.rb → twbDashSheetDataDotRenderer.rb} +0 -0
  48. data/lib/twb/util/{twbdashessheetdatadotbuilder.rb → twbDashesSheetDataDotBuilder.rb} +0 -0
  49. metadata +53 -52
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 237d9d602af5e7c253e3c0df732483ecacb58d7453f88ae2037251be7ae56b52
4
- data.tar.gz: 84da2fc81295bf1a61e6699907cf78e404b7b2f8fa6c3ce5149388608547d818
3
+ metadata.gz: ccd5e3f60908b3588d6e16b24932760d10c7f529cee28c5b8c57cc6b536536e1
4
+ data.tar.gz: f11f10dacb407baa8ccad990d6ed1095970603f6863ceab276a85afd69b555ee
5
5
  SHA512:
6
- metadata.gz: f940edb531e4a001aa55ffeec2de8df038f7c14a34eca5eb23780cc12da1c4c7876fe61d3e4edb0c2640ee9e653dcd67073040689b39edcd424184182c6f9334
7
- data.tar.gz: e76e453f09bf238643a8b1f12cb93390d0068450e520b7cdd3711d2cf9b9aaa217771081280d0b7ad8ad2499fdf8aa46fabfaf6059360ef1b67fd63a5e86347d
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
@@ -81,5 +81,5 @@ require_relative 'twb/analysis/sheets/sheetsintooltipanalyzer'
81
81
  # Represents Tableau Workbooks, their contents, and classes that analyze and manipulate them.
82
82
  #
83
83
  module Twb
84
- VERSION = '5.2.5'
84
+ VERSION = '5.2.6'
85
85
  end
File without changes
@@ -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
- @dataType = load 'datatype'
79
- @userDataType = load 'user-datatype'
80
- @defaultFormat = load 'default-format'
81
- @paramDomainType = load 'param-domain-type'
82
- @type = load 'type'
83
- @value = load 'value'
84
- @alias = load 'alias'
85
- @semanticRole = load 'semantic-role'
86
- @aggregation = load 'aggregation'
87
- @autoColumn = load 'auto-column'
88
- @datatypeCustomized = load 'datatype-customized'
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 role
102
- @role ||= loadRole
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 loadRole
106
- role = @node['role']
107
- if role.nil?
108
- role = @@dataTypeRoleMap[@dataType].nil? ? @dataType : @@dataTypeRoleMap[@dataType]
109
- end
110
- return role
111
- end
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 "
@@ -255,11 +255,23 @@ module Twb
255
255
  @columnFieldsMap = {}
256
256
  nodes = @node.xpath('.//column')
257
257
  nodes.each do |n|
258
- field = Twb::ColumnField.new n, self
259
- @columnFields << field
260
- @columnFieldsMap[field.uiname] = field
261
- @columnFieldsMap[field.name] = field
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
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.5
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: 2020-08-17 00:00:00.000000000 Z
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/annotatedfieldscsvemitter.rb
65
- - lib/twb/analysis/calculatedfields/calculatedfieldsanalyzer.rb
66
- - lib/twb/analysis/calculatedfields/csvemitter.rb
67
- - lib/twb/analysis/calculatedfields/dotanalyzer.rb
68
- - lib/twb/analysis/calculatedfields/fieldsaliasesanalyzer.rb
69
- - lib/twb/analysis/calculatedfields/groupfieldsanalyzer.rb
70
- - lib/twb/analysis/calculatedfields/markdownemitter.rb
71
- - lib/twb/analysis/calculatedfields/t.rb
72
- - lib/twb/analysis/datasources/categoricalcolorcodinganalyzer.rb
73
- - lib/twb/analysis/datasources/datasourcefieldsanalyzer.rb
74
- - lib/twb/analysis/datasources/datasourcefieldscsvemitter.rb
75
- - lib/twb/analysis/datasources/datasourcefilesanalyzer.rb
76
- - lib/twb/analysis/datasources/datasourceoriginsanalyzer.rb
77
- - lib/twb/analysis/datasources/datasourcesenumerator.rb
78
- - lib/twb/analysis/datasources/datasourceslocationsanalyzer.rb
79
- - lib/twb/analysis/datasources/datasourcetablefieldsanalyzer.rb
80
- - lib/twb/analysis/datasources/datasourcetablefieldscsvemitter.rb
81
- - lib/twb/analysis/datasources/extractsanalyzer.rb
82
- - lib/twb/analysis/datasources/fieldsaliasesanalyzer.rb
83
- - lib/twb/analysis/datasources/googlesheetdatasourcesanalyzer.rb
84
- - lib/twb/analysis/datasources/parametersanalyzer.rb
85
- - lib/twb/analysis/documentedfieldscsvemitter.rb
86
- - lib/twb/analysis/documentedfieldsmarkdownemitter.rb
87
- - lib/twb/analysis/sheets/analyzedashboardsheets.rb
88
- - lib/twb/analysis/sheets/dashboardsummarizer.rb
89
- - lib/twb/analysis/sheets/dashsheetsanalyzer.rb
90
- - lib/twb/analysis/sheets/sheetfieldsanalyzer.rb
91
- - lib/twb/analysis/sheets/sheetfiltersanalyzer.rb
92
- - lib/twb/analysis/sheets/sheetfiltersanalyzera.rb
93
- - lib/twb/analysis/sheets/sheetsintooltipanalyzer.rb
94
- - lib/twb/analysis/sheets/sheetsourcesanalyzer.rb
95
- - lib/twb/analysis/sheets/worksheetdatastructurecsvemitter.rb
96
- - lib/twb/analysis/sheets/worksheetsummarizer.rb
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/finddsfields.rb
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/identifyfields.rb
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/dotfilerenderer.rb
138
+ - lib/twb/util/dotFileRenderer.rb
137
139
  - lib/twb/util/fielddomainloader.rb
138
- - lib/twb/util/ftppublisher.rb
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/joinutilities.rb
149
+ - lib/twb/util/joinUtilities.rb
148
150
  - lib/twb/util/tabgraph.rb
149
- - lib/twb/util/twbdashessheetdatadotbuilder.rb
150
- - lib/twb/util/twbdashsheetdatadotbuilder.rb
151
- - lib/twb/util/twbdashsheetdatadotrenderer.rb
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
- rubyforge_project:
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.