class Focuslight::ComplexGraph
Attributes
complex_graph[R]
data_rows[RW]
sumup[RW]
Public Class Methods
meta_clean(args={})
click to toggle source
# File lib/focuslight/graph.rb, line 234 def self.meta_clean(args={}) args.delete_if do |k,v| %w(id service_name section_name graph_name number description sort).include?(k.to_s) end end
new(row)
click to toggle source
Calls superclass method
Focuslight::Graph::new
# File lib/focuslight/graph.rb, line 172 def initialize(row) super uri = [:'type-1', :'path-1'].map{|k| @parsed_meta[k]}.join(':') + ':0' # stack data_rows = [] first_row = { type: @parsed_meta[:'type-1'], path: @parsed_meta[:'path-1'].to_i, stack: false, graph_id: @parsed_meta[:'path-1'].to_i, } data_rows << first_row unless @parsed_meta[:'type-2'].is_a?(Array) [:'type-2', :'path-2', :'stack-2'].each do |key| @parsed_meta[key] = [@parsed_meta[key]].flatten end end @parsed_meta[:'type-2'].each_with_index do |type, i| t = @parsed_meta[:'type-2'][i] p = @parsed_meta[:'path-2'][i].to_i s = @parsed_meta[:'stack-2'][i].is_a?(String) ? !!(@parsed_meta[:'stack-2'][i] =~ /^(1|true)$/i) : !!@parsed_meta[:'stack-2'][i] uri += ':' + [t, p, (s ? '1' : '0')].join(':') data_rows << {type: t, path: p, stack: s, graph_id: p} end @sumup = @parsed_meta.fetch(:sumup, '0') != '0' # '0' is false @data_rows = data_rows @complex_graph = uri end
Public Instance Methods
complex?()
click to toggle source
# File lib/focuslight/graph.rb, line 215 def complex? true end
to_hash()
click to toggle source
Calls superclass method
Focuslight::Graph#to_hash
# File lib/focuslight/graph.rb, line 206 def to_hash complex = { sumup: @sumup, data: @data_rows, complex: true } hash = super hash.merge(complex) end
update(args={})
click to toggle source
# File lib/focuslight/graph.rb, line 219 def update(args={}) meta = @parsed_meta.dup args.each do |k, v| case k.to_sym when :number then @number = v when :description then @description = v when :sort then @sort = v else meta[k.to_sym] = v end end @parsed_meta = self.class.meta_clean(@parsed_meta.merge(meta)) @meta = @parsed_meta.to_json end