class SimpleCSV

Public Class Methods

new(file_template) click to toggle source
Calls superclass method SimpleOutput::SimpleOutputPlugin::new
# File lib/simplecsv.rb, line 21
def initialize(file_template)
   super()
   @filename = file_template
   @series_next = 0
end

Public Instance Methods

append_callback(x,y,name,options) click to toggle source
# File lib/simplecsv.rb, line 54
def append_callback(x,y,name,options)
  if !@metadata.has_key?(name)
    new_data_callback(name)
  end
end
check_title(name, options) click to toggle source
# File lib/simplecsv.rb, line 36
def check_title(name, options)
  if options.has_key?('series')
    @metadata[name]['series_titles'] << options['series']
  else
    @metadata[name]['series_titles'] << "#{@metadata[name]['ylabel']}#{@series_next}"
    @series_next += 1
  end
end
new_data_callback(name) click to toggle source
# File lib/simplecsv.rb, line 49
def new_data_callback(name)
  name = translate_name(name)
  @metadata[name] = {'xlabel' => "#{name}_x", 'ylabel' => "#{name}_y", 'series_titles' => []}
end
options_callback(options) click to toggle source
# File lib/simplecsv.rb, line 27
 def options_callback(options)
  if options.has_key?('xlabel')
    @metadata[@current_name]['xlabel'] = options['xlabel']
  end
  if options.has_key?('ylabel')
    @metadata[@current_name]['ylabel'] = options['ylabel']
  end
end
save() click to toggle source
# File lib/simplecsv.rb, line 60
def save()
  data = self.get_data_as_xy()
  data.each do |set_name, series|
    CSV.open("#{@filename}_#{set_name}.csv", "wb") do |csv|
      xlabel = @metadata[set_name]['xlabel']
      
      series.each_with_index do |values, i|
        values[0].unshift(xlabel)
        csv << values[0]
        ylabel = @metadata[set_name]['series_titles'].empty? ? @metadata[set_name]['ylabel'] : @metadata[set_name]['series_titles'][i] 
        values[1].unshift(ylabel)
        csv << values[1]
      end
    end
  end
end
set_x_callback(data, name, options) click to toggle source
# File lib/simplecsv.rb, line 45
def set_x_callback(data, name, options)
  check_title(name, options)
end