class Charty::Plotters::BaseMapper

Attributes

plotter[R]

Public Class Methods

new(plotter, *params) click to toggle source
# File lib/charty/plotters/relational_plotter.rb, line 4
def initialize(plotter, *params)
  @plotter = plotter
  initialize_mapping(*params)
end

Public Instance Methods

[](key, *args) click to toggle source
# File lib/charty/plotters/relational_plotter.rb, line 11
def [](key, *args)
  case key
  when Array, Charty::Vector
    key.map {|k| lookup_single_value(k, *args) }
  else
    lookup_single_value(key, *args)
  end
end

Private Instance Methods

categorical_lut_from_array(levels, values, name) click to toggle source
# File lib/charty/plotters/relational_plotter.rb, line 29
        def categorical_lut_from_array(levels, values, name)
  if levels.length != values.length
    raise ArgumentError,
      "The `#{name}` array has the wrong number of values " +
      "(%d for %d)." % [values.length, levels.length]
  end
  levels.zip(values).to_h
end
categorical_lut_from_hash(levels, pairs, name) click to toggle source
# File lib/charty/plotters/relational_plotter.rb, line 20
        def categorical_lut_from_hash(levels, pairs, name)
  missing_keys = levels - pairs.keys
  unless missing_keys.empty?
    raise ArgumentError,
          "The `#{name}` hash is missing keys: %p" % missing_keys
  end
  pairs.dup
end