class ApexCharts::Charts::CartesianChart
Public Class Methods
new(outer_self, data, options={}, &block)
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 13 def initialize(outer_self, data, options={}, &block) @outer_self = outer_self options = deep_merge( camelize_keys(options), camelize_keys(more_options) ) build_instance_variables if @outer_self instance_eval &block if block_given? options[:annotations] = @annotations if @annotations @series = build_series(data) @options = build_options(options) build_selection_range if brush? end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/apex_charts/charts/cartesian_chart.rb, line 39 def method_missing(method, *args, &block) if @outer_self.respond_to?(method, true) @outer_self.send method, *args, &block else super end end
more_options()
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 35 def more_options {} end
respond_to_missing?(method, *args)
click to toggle source
Calls superclass method
# File lib/apex_charts/charts/cartesian_chart.rb, line 47 def respond_to_missing?(method, *args) @outer_self.respond_to?(method, true) || super end
series_type()
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 31 def series_type ApexCharts::Series::CartesianSeries end
Protected Instance Methods
brush?()
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 59 def brush? @options[:chart][:brush]&.[](:enabled) && !@options[:chart][:selection]&.[](:xaxis) end
build_instance_variables()
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 53 def build_instance_variables (@outer_self.instance_variables - instance_variables).each do |i| instance_variable_set(i, @outer_self.instance_variable_get(i)) end end
build_selection_range()
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 64 def build_selection_range last_data = @series[:series].last[:data] first_x = last_data.first[:x] last_x = last_data.last[:x] @options[:chart][:selection][:xaxis] = { min: handle_time(twenty_percent_before_last_x(first_x, last_x)), max: handle_time(last_x) } end
handle_time(input)
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 78 def handle_time(input) ApexCharts::Utils::DateTime.convert(input) end
twenty_percent_before_last_x(first, last)
click to toggle source
# File lib/apex_charts/charts/cartesian_chart.rb, line 74 def twenty_percent_before_last_x(first, last) last - (0.2 * (last - first)) end