class Datasets::LIBSVMDatasetList::DetailListener
Public Class Methods
new(abort_tag, id, base_url, record)
click to toggle source
# File lib/datasets/libsvm-dataset-list.rb, line 146 def initialize(abort_tag, id, base_url, record) @abort_tag = abort_tag @id = id @base_url = base_url @record = record @in_target = false @target_li_level = nil @key = nil @data = nil @file = nil end
Public Instance Methods
tag_end(name)
click to toggle source
# File lib/datasets/libsvm-dataset-list.rb, line 182 def tag_end(name) if @in_target case name when "ul" throw(@abort_tag) if @target_li_level == -1 when "li" case @target_li_level when 0 if @key data = @data data = data.gsub(/[ \t\n]+/, " ").strip if data.is_a?(String) @record[@key] = data end when 1 @data << @file if @data and @file end @target_li_level -= 1 end end end
tag_start(name, attributes)
click to toggle source
# File lib/datasets/libsvm-dataset-list.rb, line 158 def tag_start(name, attributes) if @in_target case name when "li" @target_li_level += 1 case @target_li_level when 0 @key = nil @data = nil @file = nil when 1 @file = File.new end when "a" @file.url = @base_url + attributes["href"] if @file end else if attributes["name"] == @id @in_target = true @target_li_level = -1 end end end
text(data)
click to toggle source
# File lib/datasets/libsvm-dataset-list.rb, line 203 def text(data) case @target_li_level when 0 if @key @data << data else case data.gsub(/[ \t\n]+/, " ") when /\ASource: / @key = :source @data = $POSTMATCH when /\APreprocessing: / @key = :preprocessing @data = $POSTMATCH when /\A\# of classes: (\d+)/ @key = :n_classes @data = Integer($1, 10) when /\A\# of data: ([\d,]+)/ @key = :n_data @data = Integer($1.gsub(/,/, ""), 10) when /\A\# of features: ([\d,]+)/ @key = :n_features @data = Integer($1.gsub(/,/, ""), 10) when /\AFiles:/ @key = :files @data = [] end end when 1 if @file.name.nil? @file.name = data else @file.note = data.strip.gsub(/[()]/, "") end end end