module MyChart::Dsl::Draw
Public Instance Methods
charts()
click to toggle source
# File lib/my_chart/dsl/draw.rb, line 20 def charts @charts ||= {} end
check_overwrite_group_method(method_id)
click to toggle source
# File lib/my_chart/dsl/draw.rb, line 41 def check_overwrite_group_method method_id group_by_methods[method_id] || method_id end
grouped(cfg = nil)
click to toggle source
# File lib/my_chart/dsl/draw.rb, line 24 def grouped cfg = nil @grouped ||= {} return @grouped unless cfg x = get_x cfg.from grp_m = check_overwrite_group_method cfg.x xy = (@grouped[[cfg.x, cfg.from]] ||= (x.group_by &grp_m)) xy = (@grouped[[cfg.x, cfg.keys, cfg.from]] ||= (xy.complete_keys cfg.keys)) if cfg.keys xy = xy.sort(cfg) if cfg.asc or cfg.desc xy = xy.limit(cfg) if cfg.first or cfg.last return xy unless cfg.y grp_m = check_overwrite_group_method cfg.y @grouped[[cfg.x, cfg.y, cfg.keys, cfg.from]] ||= xy.group_by(&grp_m) end