Class: Twb::QuickFilter
- Inherits:
-
Object
- Object
- Twb::QuickFilter
- Includes:
- TabTool
- Defined in:
- lib/twb/quickfilter.rb
Instance Attribute Summary collapse
-
#dataSource ⇒ Object
readonly
Returns the value of attribute dataSource.
-
#field ⇒ Object
readonly
Returns the value of attribute field.
-
#includeNull ⇒ Object
readonly
Returns the value of attribute includeNull.
-
#inexclude ⇒ Object
readonly
Returns the value of attribute inexclude.
-
#inexMode ⇒ Object
readonly
Returns the value of attribute inexMode.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#node ⇒ Object
readonly
Returns the value of attribute node.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
-
#uiname ⇒ Object
readonly
Returns the value of attribute uiname.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Attributes included from TabTool
#alerts, #docDir, #docfiles, #funcdoc, #id, #licensed, #logfilename, #logger, #loglevel, #metrics, #properties, #ttdocdir, #uuid
Instance Method Summary collapse
-
#context? ⇒ Boolean
def initialize.
-
#initialize(node, twb) ⇒ QuickFilter
constructor
A new instance of QuickFilter.
- #to_s ⇒ Object
Methods included from TabTool
#addDocFile, #alert, #closeDocFiles, #config, #docFile, #docFileMaxNameLen, #docfilesdoc, #docfilesdocto_s, #emit, #emitCSV, #finis, #hasConfig, #init, #initCSV, #initDocDir, #initLogger, #license=, #licensed?, #loadConfig
Constructor Details
#initialize(node, twb) ⇒ QuickFilter
Returns a new instance of QuickFilter.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/twb/quickfilter.rb', line 31 def initialize(node,twb) init emit "\nFILTER:\n#{node}\n=====" @node = node filterClass = @node['class'] @type = filterClass.gsub('-',' ').capitalize @kind = @node['kind'] fieldCode = node['column'] codedField = Twb::CodedField.new(fieldCode) fieldTech = codedField.name inexclusions = fieldTech =~ /^(Ex|In)clusions/ @measureNames = ':Measure Names' == fieldTech srcTech = codedField.dataSource @dataSource = twb.datasource(srcTech) @dsAliases = @dataSource.aliases field = @measureNames || inexclusions ? fieldTech : @dataSource.field(fieldTech) uiname = @dataSource.fieldUIName(fieldTech) @uiname = @measureNames || inexclusions ? fieldTech : uiname.nil? ? fieldTech : uiname @field = @uiname @includeNull = if @node['include-null'].nil? true elsif 'false' == @node['include-null'] false else true end @values = [] enode = @node.at_xpath('.//*[@user:ui-enumeration]') @inexclude = if enode.nil? 'Include' else case enode['user:ui-enumeration'] when 'inclusive' then 'Include' when 'exclusive' then 'Exclude' when nil then 'Include' when 'all' then 'Include' else 'undefined' end end @inexMode = enode.nil? ? 'Default' : 'Specified' emit "\n:: FIELD :: #{field} == #{@uiname} -- #{fieldTech} -- #{codedField.rawCode}" emit " filter class: #{filterClass}" emit " field code: #{fieldCode}" emit " coded field: #{codedField}" emit " field tech: #{fieldTech}" emit " field name: nil? #{@uiname.nil?} #{@uiname} " emit " src tech: #{srcTech}" emit " @measureNames: #{@measureNames}" emit " ds: #{@dataSource.uiname}" emit " field: #{@uiname}" emit " @inexclude: #{@inexclude}" emit " " aaa = case filterClass when 'relative-date' then resolveRelativeDate when 'quantitative' then resolveQuantitative when 'categorical' then resolveCategoricalValues end end |
Instance Attribute Details
#dataSource ⇒ Object (readonly)
Returns the value of attribute dataSource
27 28 29 |
# File 'lib/twb/quickfilter.rb', line 27 def dataSource @dataSource end |
#field ⇒ Object (readonly)
Returns the value of attribute field
25 26 27 |
# File 'lib/twb/quickfilter.rb', line 25 def field @field end |
#includeNull ⇒ Object (readonly)
Returns the value of attribute includeNull
29 30 31 |
# File 'lib/twb/quickfilter.rb', line 29 def includeNull @includeNull end |
#inexclude ⇒ Object (readonly)
Returns the value of attribute inexclude
29 30 31 |
# File 'lib/twb/quickfilter.rb', line 29 def inexclude @inexclude end |
#inexMode ⇒ Object (readonly)
Returns the value of attribute inexMode
29 30 31 |
# File 'lib/twb/quickfilter.rb', line 29 def inexMode @inexMode end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind
26 27 28 |
# File 'lib/twb/quickfilter.rb', line 26 def kind @kind end |
#name ⇒ Object (readonly)
Returns the value of attribute name
25 26 27 |
# File 'lib/twb/quickfilter.rb', line 25 def name @name end |
#node ⇒ Object (readonly)
Returns the value of attribute node
28 29 30 |
# File 'lib/twb/quickfilter.rb', line 28 def node @node end |
#type ⇒ Object (readonly)
Returns the value of attribute type
26 27 28 |
# File 'lib/twb/quickfilter.rb', line 26 def type @type end |
#uiname ⇒ Object (readonly)
Returns the value of attribute uiname
25 26 27 |
# File 'lib/twb/quickfilter.rb', line 25 def uiname @uiname end |
#values ⇒ Object (readonly)
Returns the value of attribute values
28 29 30 |
# File 'lib/twb/quickfilter.rb', line 28 def values @values end |
Instance Method Details
#context? ⇒ Boolean
def initialize
89 90 91 |
# File 'lib/twb/quickfilter.rb', line 89 def context? @iscontext ||= @node['context'] end |
#to_s ⇒ Object
93 94 95 |
# File 'lib/twb/quickfilter.rb', line 93 def to_s "%s => %s" % [uiname, values] end |