class RRD::Xport

Constants

DEF_OPTIONS

Attributes

definitions[RW]
output[RW]
parameters[RW]
printables[RW]

Public Class Methods

new(parameters = {}) click to toggle source
# File lib/rrd/xport.rb, line 8
def initialize(parameters = {})      
  @parameters = {:start => Time.now - 1.day, :end => Time.now}.merge parameters
  @parameters[:start] = @parameters[:start].to_i
  @parameters[:end] = @parameters[:end].to_i
  
  @definitions = []
  @printables = []
end

Public Instance Methods

for_rrd_data(data_name, options) click to toggle source
# File lib/rrd/xport.rb, line 17
def for_rrd_data(data_name, options)  
  dataset = options.reject {|name, value| DEF_OPTIONS.include?(name.to_sym)}
  definition = "DEF:#{data_name}=#{options[:from]}:#{dataset.keys.first}:#{dataset.values.first.to_s.upcase}"
  definitions << definition
  definition
end
save() click to toggle source
# File lib/rrd/xport.rb, line 36
def save    
  Wrapper.xport(*generate_args)
end
using_calculated_data(data_name, options) click to toggle source
# File lib/rrd/xport.rb, line 24
def using_calculated_data(data_name, options)
  definition = "CDEF:#{data_name}=#{options[:calc]}"
  definitions << definition
  definition
end
xport(data_name, options) click to toggle source
# File lib/rrd/xport.rb, line 30
def xport(data_name, options)            
  printable = "XPORT:#{data_name}:#{options[:label].gsub(/:/, '\\:')}"
  printables << printable
  [printable]
end

Private Instance Methods

generate_args() click to toggle source
# File lib/rrd/xport.rb, line 41
def generate_args
  args = []
  args += RRD.to_line_parameters(parameters)
  args += definitions
  args += printables
end