twb 5.2.3 → 5.2.5

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: ebe8daee637317b5fb8024b346e2eed50883e00839a0d21a031672a55e116f44
4
- data.tar.gz: 509985403a45d56d8b3fc3690d3d14c934700fe6879d356de9579cd3df6792bc
3
+ metadata.gz: 237d9d602af5e7c253e3c0df732483ecacb58d7453f88ae2037251be7ae56b52
4
+ data.tar.gz: 84da2fc81295bf1a61e6699907cf78e404b7b2f8fa6c3ce5149388608547d818
5
5
  SHA512:
6
- metadata.gz: da4d761cceb4011cdd9442ef2ce959a3d74e9b2d1cdc004ef484c6418bfa7bc6d48e1848950a11d73d3af403de7ded1c8a3b4b07b8262b881ac9f2cab0c3c05e
7
- data.tar.gz: 50fab8909339cb928ed2d717409b66a965c1588b96c47100842e8f667c7a85bdf9c680f66482ca6244ccd23437998b623c4885f2970a8e5a00539a2254560d1d
6
+ metadata.gz: f940edb531e4a001aa55ffeec2de8df038f7c14a34eca5eb23780cc12da1c4c7876fe61d3e4edb0c2640ee9e653dcd67073040689b39edcd424184182c6f9334
7
+ data.tar.gz: e76e453f09bf238643a8b1f12cb93390d0068450e520b7cdd3711d2cf9b9aaa217771081280d0b7ad8ad2499fdf8aa46fabfaf6059360ef1b67fd63a5e86347d
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.3'
84
+ VERSION = '5.2.5'
85
85
  end
@@ -34,6 +34,10 @@ module CalculatedFields
34
34
  @imageFiles = Array.new
35
35
  end
36
36
 
37
+ def encode str
38
+ str.gsub('"', '\"')
39
+ end
40
+
37
41
  def processTWB twb
38
42
  # twb = File.basename(twb)
39
43
  @twb = twb #Twb::Workbook.new twb
@@ -50,10 +54,11 @@ module CalculatedFields
50
54
  ds.calculatedFields.each do |cf|
51
55
  @cfCnt += 1
52
56
  calcFields << cf.uiname
53
- edges << " \"#{ds.uiname}\" -> \"#{cf.uiname}\" [tailport=e, headport=w] "
57
+ edges << " \"#{encode(ds.uiname)}\" -> \"#{encode(cf.uiname)}\" [tailport=e, headport=w] "
58
+ puts " \"#{encode(ds.uiname)}\" -> \"#{encode(cf.uiname)}\" [tailport=e, headport=w] "
54
59
  cf.referencedFields.each do |rf|
55
60
  refFields << rf.uiname
56
- edges << " \"#{cf.uiname}\" -> \"#{rf.uiname}\" [tailport=e, headport=w] "
61
+ edges << " \"#{encode(cf.uiname)}\" -> \"#{encode(rf.uiname)}\" [tailport=e, headport=w] "
57
62
  end
58
63
  end # ds.calculatedFields.each
59
64
  # "federated.17h7owt0rsacke17cql8o0w2ittk" -> "New AO Actuals Query in PP+ (AO Variance Data)::vs Prior Year [YTD]"
@@ -64,7 +69,7 @@ module CalculatedFields
64
69
  @dotFile.puts " "
65
70
  allFields = calcFields + refFields
66
71
  allFields.each do |f|
67
- @dotFile.puts "\t \"#{f}\" [label=\"#{f}\"]"
72
+ @dotFile.puts "\t \"#{encode(f)}\" [label=\"#{encode(f)}\"]"
68
73
  end
69
74
  endPointFields = allFields - calcFields
70
75
  rankSame(endPointFields) unless endPointFields.nil? || endPointFields.empty?
@@ -72,7 +72,7 @@ module Twb
72
72
  def initialize(fieldNode, datasource=nil)
73
73
  @datasource = datasource
74
74
  @node = fieldNode
75
- @name = load 'name'
75
+ @name = load('name').sub(/^\[/,'').sub(/\]$/,'')
76
76
  @caption = load 'caption'
77
77
  @uiname = @caption.nil? ? @name : @caption
78
78
  @dataType = load 'datatype'
@@ -227,6 +227,14 @@ module Twb
227
227
  @name <=> other.name
228
228
  end
229
229
 
230
+ def eql?(other)
231
+ @name == other.name
232
+ end
233
+
234
+ def hash
235
+ @name.hash
236
+ end
237
+
230
238
  end # class ColumnField
231
239
 
232
240
  end
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.3
4
+ version: 5.2.5
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-06 00:00:00.000000000 Z
11
+ date: 2020-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: creek