Sha256: 3a87206321a548b4c5bfeb097643d2467d1af36e7ffd1d896ed3a1762e29e228
Contents?: true
Size: 1.34 KB
Versions: 7
Compression:
Stored size: 1.34 KB
Contents
require 'spout/models/tables/default' require 'spout/models/tables/numeric_vs_choices' require 'spout/models/tables/choices_vs_choices' require 'spout/models/tables/numeric_vs_numeric' require 'spout/models/tables/choices_vs_numeric' module Spout module Models module Tables DEFAULT_CLASS = Spout::Models::Tables::Default GRAPHABLE_CLASSES = { 'numeric_vs_choices' => Spout::Models::Tables::NumericVsChoices, 'choices_vs_choices' => Spout::Models::Tables::ChoicesVsChoices, 'numeric_vs_numeric' => Spout::Models::Tables::NumericVsNumeric, 'choices_vs_numeric' => Spout::Models::Tables::ChoicesVsNumeric } def self.for(variable, chart_variable, subjects, subtitle) table_type = get_table_type(variable, chart_variable) (GRAPHABLE_CLASSES[table_type] || DEFAULT_CLASS).new(variable, chart_variable, subjects, subtitle) end def self.get_table_type(variable, chart_variable) "#{variable_to_table_type(variable)}_vs_#{variable_to_table_type(chart_variable)}" end # Identical to graphables, TODO: Refactor def self.variable_to_table_type(variable) variable_type = (variable ? variable.type : nil) case variable_type when 'numeric', 'integer' 'numeric' else variable_type end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems