Class: Twb::CodedField
- Inherits:
-
Object
- Object
- Twb::CodedField
- Includes:
- Comparable
- Defined in:
- lib/twb/worksheet.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#dataSource ⇒ Object
readonly
Returns the value of attribute dataSource.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#suffix ⇒ Object
readonly
Returns the value of attribute suffix.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
-
#initialize(incode) ⇒ CodedField
constructor
A new instance of CodedField.
-
#to_s ⇒ Object
–.
Constructor Details
#initialize(incode) ⇒ CodedField
Returns a new instance of CodedField.
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
# File 'lib/twb/worksheet.rb', line 174 def initialize incode # puts "CF: #{incode}" @code = incode trimCode = code.gsub(/^\[/,'').gsub(/\]$/,'') # puts " : '#{trimCode}'" @dataSource = nil dsFldBits = trimCode.split('].[') if dsFldBits.length == 2 @dataSource = dsFldBits[0] fieldCode = dsFldBits[1] else fieldCode = dsFldBits[0] end # puts "fc: #{fieldCode}" parts = fieldCode.split(':') bits = if ':Measure Names'.eql?(fieldCode) {:prefix => nil, :name => fieldCode, :suffix => nil } else case parts.length when 1 bits = {:prefix => nil, :name => parts[0], :suffix => nil} when 3 bits = {:prefix => parts[0], :name => parts[1], :suffix => parts[2]} when 4 if parts[-1].match(/^(\d)+$/) bits = {:prefix => parts[0], :name => parts[1], :suffix => "#{parts[2]}:#{parts[3]}"} else bits = {:prefix => "#{parts[0]}:#{parts[1]}", :name => parts[2], :suffix => parts[3]} end when 5 bits = {:prefix => "#{parts[0]}:#{parts[1]}", :name => parts[2], :suffix => "#{parts[3]}:#{parts[4]}"} else bits = {:prefix => "OOPS #{parts.inspect}", :name => '', :suffix => '' } end end @prefix = bits[:prefix] @name = bits[:name] @suffix = bits[:suffix] # puts " l: #{parts.length} == #{bits}" # bits.each { |k,v| puts " l: %-7s %s" % [k,v] } end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
172 173 174 |
# File 'lib/twb/worksheet.rb', line 172 def code @code end |
#dataSource ⇒ Object (readonly)
Returns the value of attribute dataSource.
172 173 174 |
# File 'lib/twb/worksheet.rb', line 172 def dataSource @dataSource end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
172 173 174 |
# File 'lib/twb/worksheet.rb', line 172 def name @name end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
172 173 174 |
# File 'lib/twb/worksheet.rb', line 172 def prefix @prefix end |
#suffix ⇒ Object (readonly)
Returns the value of attribute suffix.
172 173 174 |
# File 'lib/twb/worksheet.rb', line 172 def suffix @suffix end |
Instance Method Details
#<=>(other) ⇒ Object
221 222 223 |
# File 'lib/twb/worksheet.rb', line 221 def <=>(other) @code <=> other.code end |
#to_s ⇒ Object
–
217 218 219 |
# File 'lib/twb/worksheet.rb', line 217 def to_s @code end |