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